# Oag Decision Matrix

> Use when OAG hardware IP work needs lock-blocking product or design choices captured, seeded from a profile, audited, or kept separate from locked truth before requirements, RTL, TB, or closure.

- Skill: `together2329/oag-decision-matrix` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add together2329/oag-decision-matrix`
- Raw SKILL.md: https://api.skillmd.com/api/skills/together2329/oag-decision-matrix/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: together2329 (https://skillmd.com/u/together2329)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/together2329/oag-decision-matrix

---


# OAG Decision Matrix

Use this skill after deep semantic intake and before requirement lock when an
IP has unresolved architecture, interface, protocol, storage, IRQ, error/drop,
or verification choices.

## Rules

- Treat recommendations as draft guidance, not locked truth.
- Keep undecided rows as `status: unresolved` or `proposed`.
- Use `status: decided` only for explicit user/spec confirmation.
- Use `status: waived` only with `waiver_reason` and risk.
- Mark implementation-affecting rows as `lock_required: true`.
- Do not use the decision matrix to silently choose RTL/TB behavior.

## Commands

Seed profile decisions:

```bash
python3 .codex/scripts/oag_decision_matrix_generate.py --ip-dir <ip> --profile <profile> --write --json
```

For protocol packet IPs, start with `--profile protocol-packet-ip`.
For MCTP RX, use `--profile mctp-rx`.

Audit lock readiness:

```bash
python3 .codex/scripts/oag_lock_readiness_check.py --ip-dir <ip> --json
```

## Output

Maintain `ontology/decision_matrix.yaml`. Every lock-blocking row should name
its question, status, owner, recommended answer if any, affected requirements
or contracts, and verification implications.

