41ed6414c6
Bundles three operator-reliability guardrails (Vikunja #28/#29/#30) plus the in-flight branch WIP they were built on top of (reasoning_content capture, operator/project profile editor, write-jail workspaceRoot fix) — the tree is interdependent (SessionOrchestrator references reasoningArtifactId from the WIP) and does not compile as separable subsets, so it lands as one commit. Guardrails: - #28 mid-stage steering: ClientMessage.SteerSession -> GlobalStreamHandler -> orchestrator.submitSteering, reusing SteeringNoteAddedEvent + existing context fold (advisory, non-authoritative; invariants #3/#7). Closes the gap where steering typed off an approval gate was silently dropped. - #29 shell-in-file guardrail: ShellInFileContentRule (core:toolintent) blocks a file_write whose content is a bare shell command (e.g. "mkdir -p ..."); FileWriteTool description now advertises auto-mkdir of parent dirs. Basename-allowlist so the extensionless case is caught; scripts/Makefiles/multiline exempt. - #30 pt1 capability-gap detector: deterministic CapabilityGapDetector maps stage intent -> implied ToolCapability, compares to granted tools, emits advisory CapabilityGapDetectedEvent in FreestyleDriver.lockAndRun. Recorded, never fails the gate and never auto-grants (invariants #3/#4/#5). Reflection rung is pt2. Verified: ./gradlew check green (whole tree).
46 lines
1.2 KiB
TOML
46 lines
1.2 KiB
TOML
# Artifact kinds for role_pipeline.toml — paste these [[artifacts]] blocks into your
|
|
# ~/.config/correx/config.toml.
|
|
#
|
|
# schema_path is resolved: absolute, ~-relative, or RELATIVE TO THE CONFIG FILE'S DIRECTORY.
|
|
# So either:
|
|
# • copy docs/schemas/*.json to ~/.config/correx/schemas/ and keep the relative paths below, or
|
|
# • replace each schema_path with an absolute path to this repo's docs/schemas/<file>.json.
|
|
#
|
|
# All four are llm_emitted: the stage's model emits JSON, which is validated against the schema
|
|
# (never trusted) before the artifact counts as produced (invariant #7).
|
|
|
|
[[artifacts]]
|
|
id = "discovery"
|
|
schema_path = "schemas/discovery.json"
|
|
llm_emitted = true
|
|
|
|
[[artifacts]]
|
|
id = "analysis"
|
|
schema_path = "schemas/analysis.json"
|
|
llm_emitted = true
|
|
|
|
[[artifacts]]
|
|
id = "design"
|
|
schema_path = "schemas/design.json"
|
|
llm_emitted = true
|
|
|
|
[[artifacts]]
|
|
id = "impl_plan"
|
|
schema_path = "schemas/impl_plan.json"
|
|
llm_emitted = true
|
|
|
|
[[artifacts]]
|
|
id = "review_report"
|
|
schema_path = "schemas/review_report.json"
|
|
llm_emitted = true
|
|
|
|
[[artifacts]]
|
|
id = "brief_echo"
|
|
schema_path = "schemas/brief_echo.json"
|
|
llm_emitted = true
|
|
|
|
[[artifacts]]
|
|
id = "execution_plan"
|
|
schema_path = "schemas/execution_plan.json"
|
|
llm_emitted = true
|