Write responsibility-audit analysis artifact through a validating CLI instead of a Bash heredoc #561
Labels
No labels
P0
P1
P2
P3
bug
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#561
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Write responsibility-audit analysis artifact through a validating CLI instead of a Bash heredoc [capture]
Context
The audit-only agent
os-sdlc:responsibility-auditorhas no Write or Edit tool. In its first run on 2026-09-11 (session 61ec076e) it wrote.sdlc/tmp/responsibility-audit/<run-id>/analysis.yamlthrough a Bash heredoc. Bash can write anything, so the read-only guarantee rests on the prompt, not on tooling, and the YAML is not validated againstskills/responsibility-audit/references/analysis-schema.md.Observed
The artifact is free-form. Nothing checks required keys, the four ownership outcomes, or the fields required for a
missingproposal (proposed_name, proposed_path, owned facts, owned invariants, delegating callers).Reproduce
n/a: design ticket.
Expected
Add a CLI under plugins/os-sdlc/bin (or an os-sdlc-runner subcommand) that accepts the analysis as input (stdin or a flag) and writes the artifact deterministically. Validate against the schema and refuse with a named-field error on any miss. The auditor calls this CLI from Bash; the workflow forbids heredoc writes. Reuse existing os-sdlc serialization code where it exists.
Origin
Design note 2026-09-11: the first audit finding on project.rb proposed an OsSdlc::ProjectFile owner for reading and writing .sdlc/project.yaml with validation. The analysis-artifact CLI writes YAML with validation too. Look for one shared YAML document primitive (read, write, validate, refuse on schema miss) that both ProjectFile and this CLI can use, instead of a second ad hoc writer.