Skip to content

fix(cli): classify anti-entropy on its command help surface - #8132

Closed
Weimr2627 wants to merge 1 commit into
loopx-project:mainfrom
Weimr2627:weimr/anti-entropy-help-surface
Closed

Weimr2627 wants to merge 1 commit into
loopx-project:mainfrom
Weimr2627:weimr/anti-entropy-help-surface

Conversation

@Weimr2627

Copy link
Copy Markdown
Contributor

Goal And Delivered Outcome

  • Outcome basis / optional anchor: the nightly Full Public Smokes cli-help-manpage-smoke.py failure after feat(capability): introduce opt-in anti-entropy code governance #7545 introduced the anti-entropy command.
  • Goal/source and gap: every top-level parser command must be either in COMMAND_GROUPS or explicitly kept on its command-specific help surface. anti-entropy was added by feat(capability): introduce opt-in anti-entropy code governance #7545 but was in neither, so the smoke reported unclassified: ['anti-entropy']. This change classifies it on its command help surface, consistent with the other capability commands such as material-lifecycle and decision-context.
  • Observable before → after, with the validation row that proves it: assert_top_level_commands_are_explicitly_classified() raises on base; after this change it passes. The full smoke then proceeds to its npm-backed installer checks.
  • Issue/task and intended base: no issue; self-contained maintenance repair. Intended base is loopx-project/loopx:main.

Author Declaration

  • Written by: model_agent — Qoder AI assistant, at the contributor's direction; no human review has occurred.

Implemented against

  • Specification and revision: examples/cli-help-manpage-smoke.py at 4d8b79692d13ea17a43d2369d35282b023be311e, classification assertion at line 102; loopx/help_surface.py owner comment at lines 365-367.
  • Criteria:
Criterion (spec clause) Disposition Symbol / path Test or command
Every parser command is in COMMAND_GROUPS or MANPAGE_COMMAND_HELP_ONLY implemented loopx/help_surface.py:368 assert_top_level_commands_are_explicitly_classified()
anti-entropy keeps a command-specific help surface without entering the core manual implemented MANPAGE_COMMAND_HELP_ONLY same targeted assertion
The existing set stays disjoint from manual commands implemented examples/cli-help-manpage-smoke.py:101 same targeted assertion
  • Self-check before submission: traced the command to feat(capability): introduce opt-in anti-entropy code governance #7545, confirmed the omission is the only classification delta, added the single set entry, compiled the module, and ran the targeted assertion. Deliberately did not add a manual section: capability commands follow the command-help surface.

Scope And Continuation

  • Completed scope and remaining work: complete within this scope; no command behavior or help text changes.
  • Slice boundary / successor: N/A — the classification is the whole exit.

Validation

  • Tested revision: 5ba255434de08fedbdc710598dfaa70fc7bd86e4
  • Run state: finished
  • Input classes: synthetic
Check kind Result Public-safe evidence / limitation
unit passed python3 -m py_compile loopx/help_surface.py; assert_top_level_commands_are_explicitly_classified() → classification assertion ok.
regression_parity passed The same targeted assertion raises unclassified: ['anti-entropy'] on base 4d8b79692d13ea17a43d2369d35282b023be311e and passes on this head.
integration not_run The full smoke was attempted locally; it passes classification and then stops in assert_installer_manpage_surface() at npm ci because this host cannot validate the registry certificate (UNABLE_TO_GET_ISSUER_CERT_LOCALLY). Hosted CI has working npm; that step is not affected by this diff.
static passed git diff --check.
  • Coverage and gaps: the changed mapping is exercised by the targeted classification assertion. The remaining smoke stages are installer/manpage rendering checks and were not reachable on this host because of the local npm TLS boundary; no code path in this diff touches them.

Frontend / Visual Evidence

  • UI impact: none
  • Before: N/A
  • After: N/A
  • First viewport and preview: N/A
  • States and viewports shown: N/A
  • Source data: none
  • Attention review: N/A
  • Craft review: N/A

Type of Change

  • Bug fix

LoopX Area

  • Public docs or presentation surface (README, protocols, dashboard)

Technical Direction

  • Direction / acceptance reference, when applicable: N/A

Shared-authority RFC fixture impact

  • Production-scale fixture schema: N/A
  • Semantic dimensions changed, or reviewed no-impact rationale: N/A
  • Provider conformance arms run: N/A
  • Read-only legacy/file/PostgreSQL three-arm rehearsal (required for promotion, runtime-routing, or compatibility-projection changes): N/A

Boundary Checklist

  • Neither the diff nor this PR body/comments/attachments disclose private state, credentials, raw traces or verifier output, internal links, or local machine paths (including .loopx/, .codex/goals/, and live ACTIVE_GOAL_STATE.md).
  • I did not duplicate maintainer-owned benchmark work unless a maintainer split out a public issue for it.
  • I kept the change scoped to the linked issue/task.
  • Existing English/Chinese RFC pairs both have a diff, and the local premerge check passes, or no paired RFC changed (no RFC changed here).
  • I completed the visual evidence section for UI changes, or marked UI impact none.
  • Every commit includes a DCO Signed-off-by trailer (git commit -s).

Signed-off-by: Weimr2627 <134630546+Weimr2627@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants