Skip to content

fix(diagnose): surface orphaned Goal state - #4912

Open
Duang777 wants to merge 5 commits into
loopx-project:mainfrom
Duang777:codex/diagnose-orphaned-goal-state
Open

Duang777 wants to merge 5 commits into
loopx-project:mainfrom
Duang777:codex/diagnose-orphaned-goal-state

Conversation

@Duang777

@Duang777 Duang777 commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Goal And Delivered Outcome

Scope And Continuation

Validation

  • Tested revision: a595fe5fb96aa0b4a46df224ff4a31db0928b1e3
  • Run state: finished
  • Input classes: synthetic
Check kind Result Public-safe evidence / limitation
regression_parity passed New real CLI test failed on the unchanged implementation because diagnose exited 0; it passes on this head with a blocking orphan signal and no quota or --execute command.
unit passed 121 tests passed on the exact head across the new diagnose regression and the semantic vocabulary and frozen incident-retrodiction checks.
real_entrypoint passed Synthetic loopx diagnose --goal-id reset-goal returned ok=false, preserved status_ok=true, reported the relative surviving-state route, and exposed only status plus backup preview. Default Markdown renders the same gate.
integration passed agent-diagnose-packet-smoke.py, bootstrap-command-pack-smoke.py, and status-neutral-run-window-smoke.py passed.
static passed Ruff, Python compilation, git diff --check, the 14-test maintainability ratchet, and the public-boundary scan passed. The exact-head semantic vocabulary and frozen incident-retrodiction checks pass after keeping the diagnostic action out of the typed quota-action field. A standalone mypy run reports the same 10 pre-existing loopx/diagnose.py errors on base and head.
  • Coverage and gaps: the shared orphan detector already covers .loopx, .codex, .claude, and .local Goal-state roots. This change tests the public JSON and Markdown diagnose surfaces plus a no-state negative twin. diagnose without an explicit Goal id does not scan arbitrary orphan directories; [Bug]: Guard orphaned Goal state before guided bootstrap or host activation #4801 is scoped to the requested id. Invalid registry JSON remains a distinct fail-closed collection error rather than being reclassified here.

See validation disclosure guidance.

Frontend / Visual Evidence

  • UI impact: none
  • Before: N/A
  • After: N/A
  • States and viewports shown: N/A
  • Source data: synthetic
  • Attention review: no frontend or first-screen surface changes.

Type of Change

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

LoopX Area

  • Control plane (goals, todos, quota, scheduler, registry, runtime)
  • Benchmark boundary (adapters, runners, verifiers, scoring, evidence)
  • Capability or extension (providers, adapters, skills)
  • Public docs or presentation surface (README, protocols, dashboard)
  • Build, packaging, installer, or CI
  • Host or runtime integration

Technical Direction

Shared-authority RFC fixture impact

  • Production-scale fixture schema: N/A; no persisted schema changes.
  • Semantic dimensions changed, or reviewed no-impact rationale: N/A; this is a read-only diagnosis projection over the existing orphan fact.
  • Provider conformance arms run: none; no AuthorityStore or provider behavior changed.
  • Read-only legacy/file/PostgreSQL three-arm rehearsal: not applicable; no runtime routing or persistence behavior changed.

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.
  • 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.
  • 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: duanjialing.777 <duanjialing.777@bytedance.com>
Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
@Duang777

Duang777 commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

Exact-head CI triage for a595fe5fb96aa0b4a46df224ff4a31db0928b1e3:

  • test-shard (1) now passes, confirming the unregistered effective_action and frozen retrodiction failures are fixed.
  • test-shard (4), Windows, Dashboard, DCO, dependency review, release build, and all Stage 2C lanes pass.
  • test-shard (2) and (3) fail only in the two stale canonical-read test doubles already fixed on approved ci: restore TypeScript qualification reliability #4906.
  • node-minimum-compatibility fails in the archive cases already fixed on ci: restore TypeScript qualification reliability #4906.
  • kernel-static-checks reaches the old 30-minute cap that ci: restore TypeScript qualification reliability #4906 raises to 60 minutes. The non-blocking Node forward probe reaches its existing 20-minute cap.
  • The aggregate checks, pytest, and merge-gate failures reflect those dependent jobs; no additional failure appeared.

This branch intentionally does not duplicate #4906. I will merge current main into this branch after #4906 lands, rerun exact-head CI, and then request review.

Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>
…ed-goal-state

Signed-off-by: duanjialing.777 <duanjialing.777@bytedance.com>

This branch has not been deployed

No deployments
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