3.9 KiB
3.9 KiB
Audita Go Rewrite Notes
Current implementation status
The Go rewrite is currently in a deterministic foundation stage.
Implemented:
- CLI command surface for
audita process. - Config/env/flag loading and validation.
- Transcript/glossary schema parsing and validation.
- Deterministic normalization with summary stats.
- Deterministic chunking with summary stats.
- Per-run diagnostics directory plus normalization/chunking artifacts.
- Minimal process report output (
--report-jsonand run-dirreport.json). - Framework foundation packages for contracts and proposal preview/apply semantics.
Not yet implemented in runtime pipeline:
- Module runner orchestration.
- Real correction modules.
- Validator-chain execution.
- Structured LLM client integration.
- End-to-end transcript polishing behavior.
Phase status (completed / partial / pending)
Completed
- Phase 1: Go CLI skeleton.
- Phase 2: Schemas and file I/O.
- Phase 3: Deterministic normalization.
- Phase 4: Chunking and token estimation (deterministic implementation present).
- Phase 5: Proposal model and application semantics (foundation package implemented and tested).
Partial
- Phase 6: Reports and diagnostics.
What is complete:
- run directory creation
- source/normalized/chunking artifacts
- report writing
- failure
error.log - retention mode parsing/validation
What is still incomplete vs original plan:
- redacted invocation/config metadata artifacts are not written yet
- module prompt/response diagnostics are not present (no module execution yet)
autoretention semantics currently behave likeneverfor successful runs
Pending
- Phase 7+: runner orchestration, validators in runtime path, LLM client, bounded concurrency, real modules, full compatibility and side-by-side rollout phases.
Deviations from original phase plan
- Proposal foundation (
internal/framework/proposals) and framework contracts (internal/framework/contracts) were implemented before full runner orchestration. - Chunking was integrated directly into the current CLI runtime path before module execution exists.
- Reporting currently uses a process-level status report with
phase: "phase3-chunking", rather than module-level pipeline reports. - Work-dir retention
autois intentionally deferred and currently simplified.
Next recommended implementation phase
Implement Phase 7 (pipeline runner with fake modules) next.
Concrete target for next phase:
- Add a production runner package wired from
internal/cli/run.go. - Resolve configured module keys into run specs using existing contracts helper.
- Execute fake or deterministic in-repo modules sequentially over a working transcript.
- Run proposal application through
internal/framework/proposalsfor each stage. - Emit module-level applied/skipped results into report structures.
- Preserve current stdout/stderr behavior and diagnostics retention behavior.
Rationale:
- This uses already-implemented deterministic pieces.
- It closes the biggest current gap: no actual module pipeline execution.
- It enables validator and LLM phases to be added incrementally afterward.
Guidance for Codex-style prompts
When requesting the next implementation steps, use narrow prompts such as:
- "Implement runner orchestration using existing contracts and proposal apply package, no LLM calls yet."
- "Add module-level report structs and wire them into process report."
- "Keep CLI contract unchanged and ensure
go test ./...passes."
Avoid broad prompts like "finish the rewrite"; they blur phase boundaries and make review harder.
Compatibility reminders
Keep these constraints unchanged while implementing later phases:
- Preserve subprocess-safe stdout/stderr behavior.
- Preserve CLI-over-env precedence.
- Preserve deterministic safety-first proposal application semantics.
- Do not claim module or LLM behavior exists until it is actually in runtime path.