OAG Contract Projection
Use this skill after source claims, ambiguity, decision rows, and requirement atoms exist. Projection turns intent into obligations and closure-grade contracts.
Rules
- Do not project prose-only requirements into closure-grade contracts.
- Keep environment responsibility in
assume; keep DUT responsibility inguarantee. - Behavioral contracts need behavior refs or an approved equivalent oracle.
- Temporal contracts need cycle-rule refs or an approved equivalent oracle.
- Interface/protocol contracts need variables, legal stimulus assumptions, and observable response guarantees.
- Verification projection must name scenarios and scoreboard/assertion/formal proof refs before closure.
Checks
Run:
python3 .codex/scripts/oag_requirement_atom_check.py --ip-dir <ip> --json
python3 .codex/scripts/oag_contract_strength_check.py --ip-dir <ip> --json
python3 .codex/scripts/oag_trace_graph_check.py --ip-dir <ip> --json
Use --require-locked for hard pre-implementation or closure audits.
Output
Update authored truth only:
ontology/obligations.yamlontology/contracts.yamlontology/modeling.yamlreq/evidence_plan.yamlontology/verification_plan.yaml
After edits, run oag.compile; do not hand-edit generated projections.