Skip to content

autoloop/20260425T054152Z/w7/4 4.b contextengine interface status tool contract - #30

Closed
XelHaku wants to merge 14 commits into
mainfrom
autoloop/20260425T054152Z/w7/4-4.b-contextengine-interface-status-tool-contract
Closed

autoloop/20260425T054152Z/w7/4 4.b contextengine interface status tool contract#30
XelHaku wants to merge 14 commits into
mainfrom
autoloop/20260425T054152Z/w7/4-4.b-contextengine-interface-status-tool-contract

Conversation

@XelHaku

@XelHaku XelHaku commented Apr 25, 2026

Copy link
Copy Markdown
Collaborator
  • test(autoloop): cover health flush failure path
  • feat(autoloop): selection honors row health
  • test(autoloop): cover penalty population and selection-reason annotation
  • feat(autoloop): report repair pass salvages noisy worker output
  • feat(planner): consume row health and preserve across regen
  • test(autoloop): end-to-end reactive lifecycle
  • fix(goncho): guard streaming chat persistence
  • fix(goncho): report honcho queue status
  • fix(autoloop): commit run health after promotion
  • docs(progress): refresh completed Goncho queue slices
  • Add Goncho file import ingestion
  • autoloop: record run health
  • docs(progress): refresh Goncho file import status
  • Add context engine status contract

XelHaku and others added 14 commits April 24, 2026 21:51
Adds TestRunOnce_HealthUpdateFailedEventOnFlushError to verify that a
failed run-end Flush both emits the health_update_failed ledger event
and propagates the error back to the caller. The failure is induced
by chmod'ing the progress.json parent directory to read-only inside
the runner callback, so atomicWrite fails after the initial Load.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds TryRepairReport infrastructure that reconstructs a FinalReport from
secondary evidence (git commit + non-empty diff + PASS token + acceptance
match) when ParseFinalReport fails on a worker's stdout. Also adds the
RepairContext / RepairNote types and a writeRepairArtifact helper for
forensic logging.

Repair is conservative: it never accepts work without (1) a new commit on
the worker branch vs base, (2) a non-empty diff, (3) a PASS token in
stdout, and (4) every acceptance line present in stdout (or, if no
acceptance set, PASS evidence alone is sufficient). Synthesized
Acceptance strings satisfy the existing acceptanceEvidence() contract
(RED with exit 1, GREEN with exit 0) so downstream gates see a valid
shape.

Scope adjustment vs the plan: the plan's Step 6.5 calls for wiring
TryRepairReport into the production promotion flow as a fallback for
ParseFinalReport. That call site does not exist in the current Go
autoloop -- ParseFinalReport is only referenced from report.go and
report_test.go. The promotion path in run.go promotes any worker that
produces a commit without parsing the report; the report_validation_failed
ledger events seen in production come from the legacy shell orchestrator,
not the Go autoloop. So this commit ships the repair infrastructure with
full unit-test coverage but does not touch run.go or promote.go and does
not emit a report_repaired ledger event. The infrastructure is ready for
whoever wires ParseFinalReport into production in a future task.

Tests: 6 TryRepairReport scenarios (no commit, no PASS, missing
acceptance line, empty acceptance accepts on PASS, all acceptance lines
present accepts, empty diff fails) + 1 writeRepairArtifact JSON shape
test. Existing strict ParseFinalReport tests untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@XelHaku

XelHaku commented Apr 25, 2026

Copy link
Copy Markdown
Collaborator Author

Closed as superseded by rescue PR #42. Useful work was rescued into main; remaining differences are patch-id drift or unrelated branch-base noise.

@XelHaku XelHaku closed this Apr 25, 2026
@XelHaku
XelHaku deleted the autoloop/20260425T054152Z/w7/4-4.b-contextengine-interface-status-tool-contract branch April 25, 2026 08:15
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