1b58bc325e
This branch's uncommitted WIP, committed together (entangled at file level). Distinct pieces of work: Freestyle QA fixes (this session): - FileEditTool: pre-validate replace anchor in validateRequest — reject a missing/ambiguous target BEFORE the approval gate, mirroring read/write's file-not-found / read-before-write pre-checks. Shared not-found/ambiguous messages between validate and execute so they can't drift. - PlanGrounder: add `scanned` flag; when no RepoMapComputedEvent was recorded, repoMapPaths is "unknown" not "empty workspace" — skip scope grounding (which proves a path ABSENT) so real paths (apps/server/**) aren't falsely rejected. Build-manifest check still runs. - FreestyleDriver: wire scanned=(repoMap!=null); on plan rejection emit a session-terminal WorkflowFailedEvent so a rejected run reads FAILED, not the COMPLETED-lie (last verdict was the planning-phase WorkflowCompleted). - ServerModule: resolve project-memory workspace root from the session's bound workspace (sessionWorkspaceRoot) instead of boot-static pm.repoRoot(), fixing the workspace-binding divergence (correx vs empty scratch dir). Retire tracked in Vikunja #266. - LaunchRegistrationRaceTest: join registered jobs before asserting launchCount — computeIfAbsent returns the Job immediately but the fire-and-forget launch body lagged awaitAll (the 49-vs-50 flake). ACR concept-compiler experiment (pre-existing WIP on this branch): - ExecutionPlanCompiler/Model/PlanLinter, #264 needs-seam (sessionArtifacts), LSP diagnostics subsystem (LspDiagnosticEvents/Runner/Lsp4j), BootWorkspace, config surface, workflow prompts/schemas, orchestrator advance-don't-rerun. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
docs/ — AGENTS.md
Purpose
Human-readable documentation for the CORREX project: architecture decisions, module specs, QA run plans, schemas, epics, and design references. Not source of truth for build status — source of truth is git log + live code.
Ownership
Maintained alongside the features they describe. Any agent shipping a significant feature must update or create the relevant doc.
Local Contracts
architecture/— stable, high-level architectural docs (context layers, event model, replay model, security boundaries).decisions/— ADRs (adr-NNNN-*.md). Append-only. Never delete or retroactively alter a decided ADR; write a superseding one instead.qa/— QA run plans (QA-*.md). Each maps to a shipped feature or an explicitly pending controlled audition.TEMPLATE.mdis the canonical shape.ENV.mddescribes the required live environment.README.mdexplains the QA process.specs/— feature specs by date-slug. Inputs for planned or in-flight work.schemas/— canonical JSON schemas for structured outputs (analysis, discovery brief, DoD, brief_echo, design, execution_plan, impl_plan). Shared across the router and validator.epics/,modules/,diagrams/,design/,reviews/,visual/— supporting reference material.
⚠️ STALE / DO NOT TRUST FOR STATUS:
docs/plans/— gitignored. Contains old implementation plans. Never reflects current build state.docs/future/— gitignored. Speculative, may be outdated. Verify any claim against git log + live code.
Work Guidance
- QA plans live in
qa/. Useqa/TEMPLATE.mdas the starting shape when creating a new one. - ADRs go in
decisions/. Follow the existing numbering sequence. - Specs go in
specs/under aYYYY-MM-DD-<slug>/directory. - Never trust
docs/plans/ordocs/future/for feature status. Always verify againstgit logand live source.
Verification
None yet.
Child DOX Index
No child AGENTS.md (leaf directory).