Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
2089891
fix: resolve bridge diagnostics shadowing
pedronauck May 20, 2026
189c9a6
feat: add prod-ready cross-cut contracts
pedronauck May 20, 2026
5cc983b
docs: update review skills
pedronauck May 20, 2026
8b7ec35
feat: add diagnostic substrate
pedronauck May 20, 2026
f800f7f
feat: add provider auth and runtime status surfaces
pedronauck May 20, 2026
94de571
feat: wip task 05
pedronauck May 20, 2026
7057169
feat: add provider auth classifier surfaces
pedronauck May 20, 2026
b4d76cc
feat: finishing task 05
pedronauck May 20, 2026
ad89be7
docs: adjust codex loop skill
pedronauck May 20, 2026
468cf40
feat: logs event projection and agh logs hard cut (#06)
pedronauck May 21, 2026
5ce4621
feat: support bundle operations and log rotation (#07)
pedronauck May 21, 2026
35ab727
feat: session attach recap and markers (#08)
pedronauck May 21, 2026
f89e5bd
fix: satisfy session attach lint gate (#08)
pedronauck May 21, 2026
8bbf239
fix: wrap session attach lint findings (#08)
pedronauck May 21, 2026
d04f25b
fix: wrap provider marker lint line (#08)
pedronauck May 21, 2026
a11ec1b
build: git ignore
pedronauck May 21, 2026
dd931c3
feat: Busy Input Queue, Queue Generations, Interrupt, and Steer #09
pedronauck May 21, 2026
50174c2
feat: Task Inspect Snapshot and Diagnostic Detectors #10
pedronauck May 21, 2026
e04adee
feat: Task Force Release, Force Fail, Retry, and Queue Generation Cance…
pedronauck May 21, 2026
c65f5c5
feat: Scheduler Pause, Per-Task Effective Pause, Backlog, and Drain #12
pedronauck May 21, 2026
497ed68
feat: Extension Marketplace Parity, Provenance, Trust Reports, and Capa…
pedronauck May 21, 2026
4ec8d08
feat: Skill Provenance, Shadow Detection, and skill.shadowed Event #14
pedronauck May 21, 2026
3622ade
feat: Bridge Target Directory, Resolver, and Daemon-Owned Refresh #15
pedronauck May 21, 2026
aa18e88
feat: Notification Presets, Cursor-Backed Fanout, and Suppression Seman…
pedronauck May 21, 2026
d6d0f06
feat: Network Presence Derivation, Peer Hooks, and Placeholder Hook Del…
pedronauck May 21, 2026
b8abb22
feat: Cross-Surface Web, Generated Contract, and Site Documentation Int…
pedronauck May 21, 2026
9d78ab3
build: gitignore
pedronauck May 21, 2026
8c242b9
feat: Cross-Slice Runtime Integration and E2E Contract Hardening #19
pedronauck May 22, 2026
47c0108
feat: Native Tools and Extensibility Stability Contract #20
pedronauck May 22, 2026
5487fe2
feat: Consolidated Claude Opus Implementation Peer Review ($cy-impl-pee…
pedronauck May 22, 2026
e0b9c90
fix: resolve prod-ready review batch (#167)
pedronauck May 22, 2026
0c2780d
fix: address prod-ready review batch
pedronauck May 22, 2026
ece8523
fix: resolve prod-ready coderabbit batch
pedronauck May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
79 changes: 38 additions & 41 deletions .agents/skills/cy-codex-loop/SKILL.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .agents/skills/cy-codex-loop/assets/done-signature.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__CY_CODEX_LOOP__ phase=E rounds_clean=3 verify=PASS
__CY_CODEX_LOOP__ phase=E qa=COMPLETE verify=PASS
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
- **Memory written:** {{ memory_paths_csv }}
- **State updated:** `.compozy/tasks/{{ slug }}/state.yaml`
- **Verify:** {{ verify_status }} ({{ verify_evidence }})
- **Checkpoint commit:** {{ commit_sha_or_skip_or_none }} <!-- short SHA, "SKIP: no changes", or "n/a (phase != B)" -->
- **Blockers (if any):** {{ blockers_or_none }}
- **Next phase per detect-phase.py:** {{ next_phase }}

Expand Down
8 changes: 0 additions & 8 deletions .agents/skills/cy-codex-loop/assets/state.template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,6 @@ qa:
report_done: false
execution_done: false

coderabbit:
rounds_completed: 0
rounds_clean_streak: 0
rounds_required: 3
current_round_dir: null
unresolved_critical: 0
unresolved_high: 0

verify:
last_run: null # RFC3339 UTC
last_status: null # PASS | FAIL | null
Expand Down
17 changes: 6 additions & 11 deletions .agents/skills/cy-codex-loop/references/checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on the final iteration.
## Every iteration

- [ ] `.agents/skills/cy-codex-loop/scripts/detect-phase.py` was run as the first action and its output was followed.
- [ ] The dispatched `cy-*` skills or the Compozy/Claude Opus delegation lane for the printed phase were activated **before** any code edits or reviews.
- [ ] If Phase B work was frontend/docs, `references/frontend-docs-delegation.md` was read and the local Codex session stayed in orchestration mode.
- [ ] The dispatched `cy-*` skills (or, when the opt-in delegation lane is active, the Compozy/Claude Opus dispatch) for the printed phase were activated **before** any code edits or reviews.
- [ ] The delegation-lane gate (`delegation=frontend-docs` in `state.goal_signature`) was evaluated. When inactive, all Phase B work ran locally regardless of task `type:`. When active and the picked task/slice qualified, the local Codex session stayed in orchestration mode and dispatched via `compozy exec`.
- [ ] Memory was updated via `cy-workflow-memory` in the execution lane before any state-flipping operation (`cy-execute-task` step 5 sequence: memory → checkboxes → status → master → commit).
- [ ] `.agents/skills/cy-codex-loop/scripts/update-state.py` was called with the right flags so `state.yaml` reflects the new reality.
- [ ] `cy-final-verify` ran for any iteration that produced code or fixes; if the work was delegated, the delegated PASS/FAIL evidence was captured and cited in the iteration summary's `verify_evidence`.
Expand All @@ -24,30 +24,25 @@ on the final iteration.
## Phase B mode=tasks only

- [ ] `task_NN.md` frontmatter `status:` was checked and trusted as source of truth (state.yaml reconciled if it disagreed).
- [ ] `task_NN.md` frontmatter `type:` was checked before choosing the local lane or the delegation lane.
- [ ] If the delegation lane is active for this loop, `task_NN.md` frontmatter `type:` was checked before deciding to dispatch via `compozy exec` versus running locally. When the lane is inactive, this check is skipped.
- [ ] Exactly ONE task was attempted in this iteration.
- [ ] `.agents/skills/cy-codex-loop/scripts/commit-checkpoint.py <slug> --task <stem>` ran after `update-state.py` and either printed a commit SHA or the literal `SKIP: no changes`. The result is captured in the iteration summary's checkpoint commit field.

## Phase B mode=free only

- [ ] The slice picked was small enough to finish in one iteration (≤ ~4 hours).
- [ ] The slice was added to `progress.checklist[]` BEFORE implementation started.
- [ ] If the slice was delegated, its owned paths were explicitly limited to frontend/docs surfaces per `references/frontend-docs-delegation.md`.
- [ ] If `deliverables_complete` was set true: every techspec acceptance criterion has at least one matching `progress.checklist[]` entry with `status=completed`. Self-quote each criterion → its checklist entry in the iteration summary.
- [ ] `.agents/skills/cy-codex-loop/scripts/commit-checkpoint.py <slug> --slice "<slice text>"` ran after `update-state.py` and either printed a commit SHA or the literal `SKIP: no changes`. The result is captured in the iteration summary's checkpoint commit field.

## Phase C only

- [ ] `qa-report` was completed before `qa-execution` (do not skip ahead).
- [ ] If `bootstrap-manifest.json` was missing, a QA bootstrap skill (e.g. `agh-qa-bootstrap` in AGH) ran first — or the absence of such a skill in this project was noted before falling through.

## Phase D only

- [ ] Round number was computed from `ls reviews-*` and zero-padded to 3 digits.
- [ ] `.agents/skills/cy-codex-loop/scripts/coderabbit-to-rounds.py` was used to generate `issue_NNN.md`; nothing was hand-written.
- [ ] `.agents/skills/cy-codex-loop/scripts/check-rounds-clean.py` was the source of truth for clean/dirty, not eyeballed counts.
- [ ] If the streak was reset, the iteration summary explicitly names the issue(s) that broke it.

## Phase E only

- [ ] `coderabbit.rounds_clean_streak >= coderabbit.rounds_required` was confirmed via `state.yaml`, not memory.
- [ ] `qa.report_done=true` AND `qa.execution_done=true` confirmed via `state.yaml`, not memory.
- [ ] `verify.last_status` is `PASS` and the timestamp is recent (same iteration as Phase E entry).
- [ ] The done-signature from `assets/done-signature.txt` is the LAST line of the message.
110 changes: 0 additions & 110 deletions .agents/skills/cy-codex-loop/references/coderabbit-conversion.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
# Frontend/docs delegation lane
# Frontend/docs delegation lane (opt-in)

Use this lane when Phase B work is primarily frontend or documentation.
The local Codex loop session remains the orchestrator; Claude Opus does
the implementation and verification work through the Compozy CLI.
This lane is **OFF by default**. Without an explicit opt-in, every
Phase B iteration runs locally in the orchestrator session regardless of
task `type:` or owned paths — do not read further into this file unless
the activation gate below is satisfied.

## Classification
## Activation gate

The lane is active for the current loop only when
`state.goal_signature` contains the literal token
`delegation=frontend-docs` (case-insensitive). The user sets this once
at bootstrap by including the token in their `[[CODEX_LOOP goal="..."]]`
header (see `goal-header-template.md`). The opt-in spans the whole loop:
either every qualifying Phase B iteration delegates, or none do.

When the token is absent: skip this entire reference. The Phase B
branches in `SKILL.md` fall through to the local lane.

## Classification (only when the gate is active)

When the lane is active, apply these rules to decide whether THIS
specific task or slice qualifies. Tasks that do not qualify still run
locally even with the lane active.

1. Trust task frontmatter `type:` first.
2. Delegate when `type:` is exactly `frontend` or `docs`.
Expand Down Expand Up @@ -54,6 +71,7 @@ Require the delegated Claude Opus run to:
- run `cy-final-verify`
- update memory before changing task status or completion markers
- print changed files plus explicit PASS/FAIL verify evidence
- **DO NOT commit.** The orchestrating cy-codex-loop session owns the checkpoint commit and runs `commit-checkpoint.py` after receiving PASS evidence. The delegated run must leave the worktree dirty (staged or unstaged) so the orchestrator's `git add -A` captures everything.

## Completion gate

Expand All @@ -64,6 +82,7 @@ only when all of the following are true:
- the delegated run updated the required memory files
- the task/status artifacts now reflect completion
- the delegated output contains explicit `cy-final-verify` PASS evidence
- the delegated run did NOT create a commit (verified by comparing `git rev-parse HEAD` before and after the dispatch)

If any item is missing, keep the phase open and record a blocker or
verify failure instead of advancing `state.yaml`.
23 changes: 20 additions & 3 deletions .agents/skills/cy-codex-loop/references/goal-header-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,33 @@ For a feature with slug `<slug>` whose techspec lives at
`.compozy/tasks/<slug>/_techspec.md`:

```text
[[CODEX_LOOP name="<slug>" goal="ship <slug> end-to-end via cy-codex-loop: every iteration runs .agents/skills/cy-codex-loop/scripts/detect-phase.py and executes the printed action; finish only when 3 consecutive coderabbit rounds are clean and make verify is PASS"]]
[[CODEX_LOOP name="<slug>" goal="ship <slug> end-to-end via cy-codex-loop: every iteration runs .agents/skills/cy-codex-loop/scripts/detect-phase.py and executes the printed action; finish only when qa-report and qa-execution are complete and make verify is PASS"]]

Use the cy-codex-loop skill at .agents/skills/cy-codex-loop/SKILL.md.
The skill is a state machine — one iteration per Stop. Slug: <slug>.
```

The `goal=` text becomes `state.yaml.goal_signature` and is shown to the
goal-check confirmation prompt as the success criterion. Keep it
specific (mentions slug, mentions the 3-clean-rounds + verify gate) so
the verdict is grounded.
specific (mentions slug, mentions the QA + verify gate) so the verdict
is grounded.

## Enabling the frontend/docs delegation lane (opt-in)

The frontend/docs delegation lane is OFF by default. To enable it for a
loop, include the literal token `delegation=frontend-docs` (case-
insensitive) anywhere in the `goal=` text. The skill detects it via a
substring scan on `state.goal_signature`; no other configuration is
needed.

```text
[[CODEX_LOOP name="<slug>" goal="ship <slug> end-to-end via cy-codex-loop ... delegation=frontend-docs ..."]]
```

When the token is present, qualifying Phase B tasks (per
`frontend-docs-delegation.md` classification) dispatch through
`compozy exec --ide claude --model opus`. When absent, all Phase B work
runs locally regardless of task `type:`.

## Tunable confirm/interpret models

Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/cy-codex-loop/references/memory-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ update memory **before** flipping any status field, mirroring step 5 of
| Phase B, mode=free | `.compozy/tasks/<slug>/memory/free-iter-<NNN>.md` (zero-padded 3 digits, equal to the `iteration` value on the checklist item just created by `.agents/skills/cy-codex-loop/scripts/update-state.py --add-progress`) |
| Phase C, qa-report | `.compozy/tasks/<slug>/memory/qa-report.md` |
| Phase C, qa-execution | `.compozy/tasks/<slug>/memory/qa-execution.md` |
| Phase D, sub-action D.1 | `.compozy/tasks/<slug>/memory/<current_round_dir>.md` (e.g. `reviews-001.md`) |
| Phase D, sub-action D.2 | same `<current_round_dir>.md` (append, do not replace) |
| Phase E | none — Phase E only emits the done-signature |

## Section schema (per current-memory file)
Expand All @@ -45,7 +43,6 @@ Phase-specific addenda (append after the canonical sections):

- **Phase B mode=free**: add `## Slice Picked` (the exact text added to `progress.checklist[]`) and `## Acceptance Mapping` (which techspec acceptance criterion this slice advances).
- **Phase C**: add `## QA Artifacts Produced` (paths under `qa/`).
- **Phase D**: add `## Round Summary` (issues triaged, resolved, deferred), `## Patterns Observed` (recurring root causes — promote them to `MEMORY.md` `## Shared Learnings`).

## Promotion rules (current → MEMORY.md)

Expand Down
Loading
Loading