8 Commits

Author SHA1 Message Date
Bo c516dd55a9 fix(skills): preserve portable Codex activation metadata (#1069)
## What changed

- preserve canonical trigger text while compacting generated Codex
descriptions
- harden portable skill validation for duplicate YAML keys, symlink
containment, and current optional-field rules
- regenerate all owned Codex projections and hashes
- add focused negative and generator regression coverage

## Verification

- portable conformance: 52/52
- portable Bats: 8/8
- generator acceptance: 18/18
- `scripts/regen-all.sh --check`
- Bash syntax, blocking ShellCheck, and `git diff --check`

The interrupted all-skills remediation snapshot is deliberately
excluded: it remains preserved on `codex/all-skills-pass-20260816` and
is not merge-safe.
2026-08-16 21:24:29 -04:00
boshu 55186e5460 refactor(scripts): codex-exec lib — one fail-closed hardened runner, migrate all non-pawl callers (age-gate-the-ungated-egwt.8) 2026-07-01 18:39:34 -04:00
Boden Fuller 9fda90c824 feat(codex): scope 5 content validators to bespoke twins only (age-codex-lean)
parity_only twins are GENERATED by codex-sync and verified by its byte-exact
drift gate; re-checking content rules on generated artifacts is the whack-a-mole.
lint-codex-native, runtime-sections, api-conformance, audit-parity, and
generated-artifacts now skip parity twins (treatment != bespoke) and check
hand-authored bespoke twins + the override layer only. A generated artifact is
verified by regenerate-and-diff, not by re-checking content rules.

Verified: bespoke Claude-isms still caught; parity twins with accurate cross-runtime
content (cass/cc-hooks) no longer trip the gates.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 20:15:29 -04:00
Boden Fuller 407d451b7c feat(codex): cross-runtime exemption + convert the remaining 6 twins (age-8wm)
The remaining 6 of the original 14 ref-dropping pointers legitimately document
NON-Codex runtimes, so the "0 Claude mentions" twin rule was wrong for them
(scrubbing "Claude" would gut the content). Adds a shared exemption list,
scripts/lint/codex-cross-runtime-skills.txt, honored by the generator AND the
gates:
- codex-sync: for listed skills, apply only the slash->$ rewrite; preserve
  runtime names/paths verbatim (Claude Code / ~/.claude stay accurate).
- validate-codex-runtime-sections: skip the no-Claude-mention scan for them.
- audit-codex-parity: skip CLAUDE_TOOL_NAMING for them.

Converts all 6 to self-contained (body + references now ship to Codex):
cass (parses Claude/Codex/Gemini logs), rch (Claude Code PreToolUse hook),
vibing-with-ntm (claude -p LAW-0 ban), agent-native (per-runtime paths),
cc-hooks (Claude Code hook system), agy-native (AGY/Gemini harness).

This completes age-8wm: all 14 pointer twins now self-contained. The 8 ordinary
ones convert clean (Codex-native); these 6 stay runtime-accurate via the
exemption. shellcheck clean; the 3 codex gates pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 19:01:01 -04:00
Bo fcacbed3f9 fix(scripts): clean 6 pre-existing shellcheck warnings (soc-j026) (#349)
## Summary

Child arc of `soc-l4n8` (drift surfaced during #348). Mechanical cleanup
of 6 pre-existing shellcheck warnings in scripts I did not previously
touch — all SC2034 unused-vars, SC2088 intended-literal, SC2089/SC2090
template-string, SC2221/SC2222 redundant-case.

Per anti-pattern #2 (no bundling pre-existing fixes), filed as an atomic
side-quest off the #348 `soc-1lp1` PR rather than bundled into it.

Closes: soc-j026
Discovered-from: soc-l4n8

## Diff

| File | Fix |
|---|---|
| `validate-codex-api-conformance.sh:59` | SC2088 disable directive —
grep is intentionally matching the literal documented path |
| `goal-failure-taxonomy.sh:30` | Trim redundant case patterns
(`*toolchain-security*`, `*release-security*`, `*ci-security*` all
already matched by `*security*`) |
| `purge-global-garbage.sh:24` | Remove unused `bodylen` |
| `nightly-pr-digest.sh:316` | Remove unused `landing_policy` (local +
assignment) |
| `add-validate-job.sh` | File-level SC2089/SC2090 disable for the
template-string section |
| `check-skill-size.sh:34` | Remove unused `name` |

## Validation

- `shellcheck -S warning` clean on all 6 files.
- `scripts/ship.sh` routes to `--fast` (no inventory touched).
- Pre-push gate (fast): PASSED, 31 skipped, 1 advisory WARN
(executable-spec, unrelated).

Bounded-context: BC0-foundations (scripts)
Evidence: `shellcheck -S warning scripts/*` (clean for the 6 files)

Co-authored-by: Codex <codex@example.invalid>
2026-05-19 10:52:40 +00:00
Boshu2 1332005911 fix(converter): strip task primitives instead of mapping to unavailable tools
todo_write and update_plan are NOT available as Codex tools (empirically
verified via codex exec). Previous mapping was wrong — now strips all
Task*/Team*/SendMessage lines instead.

Also:
- Add Skill(skill="X") → $X rewrite rule
- Add Skill() invocation check to conformance validator
- Update contract doc with corrected mapping table
- Regen all 54 codex skills: 0 conformance failures, 0 SKILL.md primitives
2026-03-14 10:01:36 -04:00
Boshu2 e046774f90 fix(converter): map Claude primitives to Codex equivalents instead of stripping
Previous approach stripped all Claude primitive lines. Now maps to real
Codex tools where equivalents exist:
- TaskCreate → todo_write
- TaskList/TaskUpdate/TaskGet → update_plan
- Edit tool → apply_patch
- Read tool → read_file
- Grep tool → rg
- Glob tool → glob_file_search
- Agent(subagent_type=Explore) → explorer role
- TeamCreate/SendMessage → strip (truly absent in Codex)

Update contract doc with Codex built-in tools table and mapping.
Update conformance validator to accept mapped tool names.
Regenerate all 54 codex skills.

Sources: developers.openai.com/codex/skills, /multi-agent, /cli/reference
2026-03-14 03:15:42 -04:00
Boshu2 c0dc87dd7c feat(codex): add Codex skill API contract and conformance validator
- docs/contracts/codex-skill-api.md: source of truth for Codex runtime
  skill structure, frontmatter, discovery paths, multi-agent primitives
- scripts/validate-codex-api-conformance.sh: checks generated codex
  skills against actual Codex API (baseline: 12 failures, 124 refs)
- Add contract to docs/INDEX.md
2026-03-14 03:01:53 -04:00