reviewer judges open-closed ownership and lists undeclared new classes as review items #1316
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
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
rule-proposal
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#1316
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?
Problem
No review role asks whether a new object should have existed. reviewer.md and contract-auditor.md have no line about new objects in either direction. A class the programmer creates without a CREATES declaration is neither rejected nor flagged: CREATES only relabels evidence lines (plugins/os-sdlc/lib/os_sdlc/evidence/phantom_entry.rb:13). So a diff that pushes a new decision into an existing object passes review, and a diff that creates an object nobody asked for also passes without comment. Design record: docs/system-design-format/README.md section 4.
Reproduce
n/a: charter change.
Approach
Add one judgment question to the reviewer's design-judgment section: for each decision the diff adds to an existing object, does that object own the data the decision reads; if not, name the object that should, per lens A12. Add one visibility item: list every class or module the diff creates that no CREATES item named, as a review item, not a failure. For each CREATES item the diff realizes, check the same three gate answers seam-designer recorded (#1313): the secret, the existing object checked, one caller that would change. A class whose secret changes with no caller changing is listed as a review item naming the existing owner it should fold into, not a failure. Both produce findings in the existing transform-brief shape.
Required work:
own the datainplugins/os-sdlc/agents/reviewer.mdCREATESinplugins/os-sdlc/agents/reviewer.mdone caller that would changeinplugins/os-sdlc/agents/reviewer.mdOrchestrator work: run bin/refresh-plugins after the charter edit.
Rejected: failing the review on an undeclared class — that would punish object creation, which is the bias this batch removes.
Acceptance criteria
Owner sketch
Origin
VERDICT: CREATE
Amended 2026-10-25 per accepted prediction: the reviewer checks the three gate answers recorded on each CREATES item (#1313) and lists a class with no changing caller as a review item naming the owner to fold into, not a failure.
Work started on branch ticket-1315 (shared worktree for #1313-#1316). Deviation: no implementation map accepts category/prose-artifact, so these charter edits are hand-finished per the implement skill's recovery path: one agent per file, gated by the ticket's Required-work checks, aidd-lint, the suites, and one design audit.
Resolution
Done: reviewer charter gains judgment items 9 to 11: open-closed ownership of each decision added to an existing object (lens A12, finding names the owner that should hold it), undeclared new classes listed as review items, and the three gate answers checked on each CREATES item (secret, existing object checked, one caller that would change). Neither condition alone fails the review. Findings keep the transform-brief shape; CREATES card lines are read from the seam-designer handoff when the brief carries one.
Evidence: main
59f6cdb0(commitsda64a53c,faa10b62). Required-work checks: present 'own the data', 'CREATES', 'one caller that would change' in plugins/os-sdlc/agents/reviewer.md. aidd-lint: one pre-existing finding before and after, none new. ruby plugins/os-sdlc/tests/all.rb: 2514 runs, 0 failures. Design audit finding 8: the reviewer is in no approved map and no skill dispatches it, so these items do not yet run in a pipeline. Deviation: hand-finished, no map accepts category/prose-artifact.Follow-ups: #1318 wires the reviewer into poodr-ticket-implementation with enrich seam-designer, or retires the charter (skeptic CREATE, P2).