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>
38 lines
2.0 KiB
Markdown
38 lines
2.0 KiB
Markdown
# 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.md` is the canonical shape. `ENV.md` describes the required live environment. `README.md` explains 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/`. Use `qa/TEMPLATE.md` as the starting shape when creating a new one.
|
|
- ADRs go in `decisions/`. Follow the existing numbering sequence.
|
|
- Specs go in `specs/` under a `YYYY-MM-DD-<slug>/` directory.
|
|
- Never trust `docs/plans/` or `docs/future/` for feature status. Always verify against `git log` and live source.
|
|
|
|
## Verification
|
|
|
|
_None yet._
|
|
|
|
## Child DOX Index
|
|
|
|
No child AGENTS.md (leaf directory).
|