Files
correx/RETRO.md
T
2026-06-20 16:41:26 +00:00

5.2 KiB

CORREX — RETRO (archive of resolved BACKLOG items)

Counterpart to BACKLOG.md (the live outstanding list). Items here are built and unit-verified (Gradle green). Where a live-QA gate applies, that's called out as a follow-up — this sandbox has no local model / SearXNG / GPU / network, so live-QA could not be run here.


2026-06-20 — backlog burndown (branch feat/backlog-burndown)

Nine tracks, each compiled + unit-tested green before commit.

Commit Track BACKLOG ref
f783eed CritiqueFinding/CritiqueSeverity/CritiqueRole type + CritiqueOutcomeCorrelatedEvent + core/critique calibration projection (state/reducer/projector) B §6 + C-A3
784accb repomap: turnId namespace requires trailing : (no /repo/repo2 collision; L3RepoKnowledgeRetriever filter + ProjectMemoryService write) + WorkspaceStateProbe newline fingerprint G
266bbf0 EventStoreLatencyProbe (wired) + LlamaServerHealthProbe (+ injectable LlamaLivenessClient) + HealthConfig.eventStoreWarnLatencyMs A §4
f715ffa .cs / Godot-Mono type symbols in RepoMapIndexer.SYMBOL_PATTERNS I
0e251d6 SceneValidator — structural .tscn/.tres (header well-formedness, ExtResource/SubResource id resolution, node parent integrity) I
1df7af5 Brief echo-back gate: BriefEchoMismatchEvent + BriefEchoComparator/BriefEchoExtractor + checkBriefEcho orchestrator gate C-A1
1a1b5cc Stage-level plan checkpointing: StageCheckpointPassed/FailedEvent + StageCheckpointReconciler + emitStageCheckpoint (gated on a locked plan) C-A2
eae0a0c Architect contradiction-check (display-only): PossibleContradictionFlaggedEvent + L3-backed ArchitectContradictionChecker B §4
b098d87 Dedicated SourceFetchedEvent / LowQualityExtractionEvent (promoted from ToolExecutionCompletedEvent metadata; additive), emitted from SandboxedToolExecutor D
027ff1f Dynamic per-session egress allowlist: EgressHostsGrantedEvent + EgressAllowlist union helper + EgressAllowlistProjection; NetworkHostRule delegates to the union D
447fc7a Reviewer static-first: StaticFindingsRecordedEvent + StaticAnalysisRunner (injectable CommandRunner; compiler/ktlint/detekt parsers) + excludeStaticFindingsFromReview filter, live-wired into reviewer context assembly B §5
eff8f8d Narration-lane lag: stale pause narrations dropped per-approval-request on resolve / per-session on resume (replay-safe) G
1e6699a tui-go go.mod go 1.261.24.2 (1.26 toolchain unreleased/unfetchable) — unblocks Go build/test on released toolchains E (enabler)
da72ee5 tui-go: markdown rendering for chat turns via glamour (dark, per-width memoized), plain-text fallback; other roles/UI untouched E
1f7a5d9 tui-go session list / resume view: R overlay over GET /sessions, resume via POST /sessions/{id}/resume onto the existing global stream E
2a99e15 tui-go per-event render-matrix golden tests (37 cases) + a coverage guard that parses protocol.go so any new event type without a golden fails E §2
d5afcd3 tui-go approval ergonomics: navigable pending-approval queue (no modal stacking) + y/n/e keys + tier-gated T3+ arm/confirm E §3

Follow-ups created this pass (refiled into BACKLOG)

  • C-A1 activationplanner.md must emit a brief_echo block and role_pipeline.toml must set briefEcho="true" / briefEchoSource for the gate to fire live (model-dependent → live-QA).
  • C-A3 producer — nothing emits CritiqueOutcomeCorrelatedEvent yet; the calibration projection has no live feed until a reviewer-loop producer records finding outcomes.
  • B §4 wiringArchitectContradictionChecker is unwired: needs an architect-decision emit hook on the server side, and prior decisions embedded into L3 in-session (today they only land at session end).
  • A §4 llama wiringLlamaServerHealthProbe is unregistered: an HttpClient + tokens/sec telemetry aren't exposed to the health-monitor scope yet (// TODO(wiring) in Main.kt).
  • D egress wiringNetworkHostRule consults the session set via a pure helper but is fed emptySet(): ToolCallAssessmentInput carries no sessionId, so going live needs session context threaded into the assessment input (// TODO(wiring) in NetworkHostRule.kt). Batch fetch-approval (approve a source list → one EgressHostsGrantedEvent) still unbuilt — needs approval-flow surgery.
  • B §5 static_check stage — runner/event/filter complete and the filter is live, but no workflow stage emits StaticFindingsRecordedEvent yet (// TODO(wiring) in StaticAnalysisRunner.kt); needs an event-emitting deterministic stage-type seam.
  • E toolchain — tui-go now builds via auto-downloaded go1.24.2 (GOTOOLCHAIN=auto). The committed directive fix assumes 1.26 was unintended; bump if a specific newer release is actually wanted.

Environment note

  • A ~/.gradle/gradle.properties machine-local override was added on this box (-Xmx768m, parallel=false, kotlin daemon -Xmx640m) because the repo's -Xmx4G OOM-killed the foreground process on a 1.9 GB machine. Not committed — repo defaults intact for higher-RAM machines.