|
1 | 1 | # Latest Test Evidence |
2 | 2 |
|
3 | | -Date: 2026-07-06 |
| 3 | +Date: 2026-07-16 |
4 | 4 |
|
5 | | -Scope: OpenCode Game Studios v0.3.0 — migration of Codex Game Studios v0.3.3 |
6 | | -continuity-routing rework, v0.4.0 numbered closeout, and v0.4.1 role-agent |
7 | | -delegation contract into the OpenCode-native port. |
| 5 | +Scope: OpenCode Game Studios v0.5.1 — port of Codex Game Studios handoff-push |
| 6 | +hardening (upstream commit `0c6df429`, "Harden handoff push approval flow") into |
| 7 | +the OpenCode-native port. Version-bump metadata from upstream `0dd1bd3` |
| 8 | +("Bump Codex package to 0.6.1") applied in OpenCode form (own version line). |
8 | 9 |
|
9 | 10 | ## Commands Run |
10 | 11 |
|
11 | 12 | ```bash |
12 | 13 | bash .opencode/audit.sh all |
13 | | -bash .opencode/audit.sh closeout |
14 | | -bash .opencode/audit.sh release |
| 14 | +rg -n '\.agents/skills|\.codex|"\["git|\$handoff|\$skill|/approve|Codex surface|CCGS skill' .opencode/skills/handoff/SKILL.md |
| 15 | +git rev-parse --abbrev-ref HEAD |
| 16 | +git rev-parse --abbrev-ref --symbolic-full-name '@{u}' |
| 17 | +git remote get-url --push origin |
15 | 18 | ``` |
16 | 19 |
|
17 | 20 | ## Result |
18 | 21 |
|
19 | | -- `.opencode/audit.sh all`: pass (0 errors) |
| 22 | +- `bash .opencode/audit.sh all`: pass (0 errors) |
20 | 23 | - agents: 49 checked |
21 | 24 | - skills: 77 checked |
22 | 25 | - closeout: 19 checked (15 marker-triggered + complete, 4 no-marker skipped) |
23 | | - - runtime: no stale `.claude/` or `CLAUDE.md` references |
| 26 | + - active-state checkpoint: 38 files, 0 violations |
| 27 | + - playtest-focus: 3 surfaces |
| 28 | + - bug-lifecycle: 2 surfaces |
| 29 | + - handoff-review: 2 surfaces — `handoff/SKILL.md (review gate contract)` |
| 30 | + and `AGENTS.md (handoff review exception)` both pass; the Phase 4 edit did |
| 31 | + not disturb the 27 required review-contract phrases (all live in the |
| 32 | + Round-1/Round-2 sections) |
| 33 | + - resume contract: 0 violations |
| 34 | + - runtime: no `.claude/` or `CLAUDE.md` references |
24 | 35 | - config: opencode.json valid; all instruction files exist |
| 36 | + - install-safety: 5 guards pass |
25 | 37 | - hooks: 12 checked; fixture tests 11 passed, 0 failed |
26 | 38 | - smoke: 49 agents, 77 skills, 77 commands, 12 hooks, 17 agent-memory, 15 rules |
27 | | -- `.opencode/audit.sh closeout`: pass (0 errors) |
28 | | -- `.opencode/audit.sh release`: pass — VERSION 0.3.0, CHANGELOG has v0.3.0 section |
| 39 | +- Token-leak grep over the edited skill: no matches (exit 1) — no `.agents/`, |
| 40 | + `.codex`, `["git","push"]` JSON, `$handoff`/`$skill`, `/approve`, |
| 41 | + "Codex surface", or "CCGS skill" tokens leaked into the OpenCode skill. |
| 42 | +- Phase 4 snippet exercise: |
| 43 | + - Current branch resolves to `main`. |
| 44 | + - Upstream detection returns `origin/main` (exit 0) — the existing-upstream |
| 45 | + case routes to plain `git push`. |
| 46 | + - `git remote get-url --push origin` returns the verified github.com push URL. |
| 47 | + - A temporary no-upstream branch yields the expected non-zero lookup |
| 48 | + (`fatal: no upstream configured`, exit 128), which the skill treats as the |
| 49 | + no-upstream case routing to `git push -u origin <branch>` — not a Phase |
| 50 | + failure. Temp branch created and deleted during the check. |
29 | 51 |
|
30 | 52 | ## Notes |
31 | 53 |
|
32 | 54 | - Verification ran in `/Users/yongatron/Development/opencode-game-studios`. |
33 | | -- A scoped grep over every edited file confirmed no stale upstream tokens |
34 | | - leaked (`$skill` syntax, `.codex/docs`, `.agents/skills`, "Codex subagent", |
35 | | - "CCGS skill" all absent). |
36 | | -- `## Session Worklist` is referenced consistently across 25 files; its schema |
37 | | - is defined in `.opencode/docs/session-continuity.md`, |
38 | | - `/resume-from-handoff`, and `/studio-next`. |
39 | | -- The new `run_closeout` audit section translates the upstream |
40 | | - `validate_runtime.py` CLOSEOUT enforcement (REQUIRED_CLOSEOUT_ROUTING_SKILLS, |
41 | | - CLOSEOUT_MARKERS, CLOSEOUT_REQUIRED_PHRASES, CLOSEOUT_FORBIDDEN_PHRASES) into |
42 | | - an rg-based shell check, since this port has no Python runtime validator. |
| 55 | +- Files changed this session: `.opencode/skills/handoff/SKILL.md` (Phase 4 |
| 56 | + rewrite), `.opencode/VERSION` (`0.5.0` → `0.5.1`), `CHANGELOG.md` |
| 57 | + (v0.5.1 section), `README.md` (version badge + two text refs), |
| 58 | + `production/test-evidence/latest.md` (this file), and the migration plan at |
| 59 | + `.opencode/plans/migrate-codex-v0.6.1.md`. |
| 60 | +- OpenCode-local rules preserved through the port: hesitate before pushing |
| 61 | + `main`/`master`/`develop`; runtime push failures (auth/network/rejected) |
| 62 | + remain non-fatal. |
| 63 | +- Codex-platform internals from the v0.6.0/v0.6.1 releases (`.codex/*` |
| 64 | + validators, `validate_smoke.py`, role-activation fixtures, CCGS frontmatter) |
| 65 | + intentionally not ported — out of scope per the established bridging policy. |
0 commit comments