Skip to content

fix(extensions): keep legacy status listings readable - #6461

Closed
ikunikun1145 wants to merge 1 commit into
loopx-project:mainfrom
ikunikun1145:codex/legacy-extension-status
Closed

ikunikun1145 wants to merge 1 commit into
loopx-project:mainfrom
ikunikun1145:codex/legacy-extension-status

Conversation

@ikunikun1145

Copy link
Copy Markdown
Contributor

Goal And Delivered Outcome

  • Outcome basis: Self-contained defect reproduced on current upstream; the same legacy-state listing failure appears in the Windows CI context described in ci: expose test stall stacks and bound fixture progress IDs #6458.
  • Goal/source and gap: Keep older extension state rows visible to loopx extension list when they have no revision history. Status calculation previously resolved the active manifest before checking for a revision-bound proof.
  • Observable before → after: listing a legacy enabled row returned an invalid revision-history error → the row is listed with no active revision, zero revisions, and doctor_verified=false. Regression: test_extension_cli_keeps_legacy_machine_state_without_a_global_registry.
  • Issue/task and intended base: Related failure context: ci: expose test stall stacks and bound fixture progress IDs #6458. Implemented against loopx-project/loopx main at 3c681f1132fe719e01f75e5a41bfd854dfa9e346.

Author Declaration

  • Written by: OpenAI Codex agent using GPT-6, under the direction of contributor ikunikun1145.

Implemented against

  • Specification and revision: No written specification; the reproduced behavior in this PR is the basis. Current upstream main at 3c681f1132fe719e01f75e5a41bfd854dfa9e346.
  • Criteria:
Criterion Disposition Symbol / path Test or command
Keep legacy unrevisioned extension rows inspectable without treating them as verified implemented loopx/extensions/runtime.py test_extension_cli_keeps_legacy_machine_state_without_a_global_registry
  • Self-check before submission: Reviewed status, verification, and compatibility paths. Only status reporting changes; revision-bound readiness, catalog, and activation checks remain fail-closed.

Scope And Continuation

  • Completed scope and remaining work: Legacy extension state remains visible through the status list; entries without revision-bound proof remain unverified.
  • Slice boundary / successor: Complete within this scope.

Validation

  • Tested revision: 31d3ba0c50f3f397ebf2ca47aac990cf817e775f
  • Run state: finished
  • Input classes: synthetic, public_fixture
Check kind Result Public-safe evidence / limitation
unit passed tests/test_local_state_migration.py and tests/extensions/test_extension_runtime.py: 150 passed, 3 skipped.
static passed Ruff, Python compilation, and diff checks passed for changed files.
static passed Current-base premerge gate: 13 selected checks, no failures or warnings.
regression_parity passed The targeted legacy-listing test failed on the unmodified base with the invalid revision-history error and passed with this change.
integration blocked Hosted GitHub Actions require maintainer approval; native Windows execution is left to repository CI.
  • Coverage and gaps: The changed status projection and adjacent extension-runtime behavior are covered. Full repository tests and native Windows execution were not run locally; hosted checks are pending maintainer approval.

Frontend / Visual Evidence

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

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring (no functional changes)
  • Documentation update
  • Test update

LoopX Area

  • Control plane
  • Benchmark boundary
  • Capability or extension
  • Public docs or presentation surface
  • Build, packaging, installer, or CI
  • Host or runtime integration

Technical Direction

  • Direction / acceptance reference: N/A.

Shared-authority RFC fixture impact

  • Production-scale fixture schema: N/A
  • Semantic dimensions changed: N/A
  • Provider conformance arms run: N/A
  • Read-only legacy/file/PostgreSQL three-arm rehearsal: N/A

Boundary Checklist

  • The diff and PR body contain no private state, credentials, traces, internal links, or local machine paths.
  • This change does not duplicate maintainer-owned benchmark work.
  • The change is scoped to the reproduced defect.
  • UI impact is marked none.
  • Every commit includes a DCO Signed-off-by trailer.

Signed-off-by: ikun <ikunikun1145@gmail.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.

1 participant