mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
Seventeen-page sweep of the agent-facing KB against shipped behavior: required covers_parent_criteria and per-AC criteria_verified reach the QA/PM/task-tools pages (the QA docs also named non-callable pass_review/ fail_review — the MCP tools are pass/fail); collision_context lands in the QA/gate/planning evidence docs; the possibilities matrix gets its own architecture page + config entry; the auditor page gains its missing waive_finding and playbook-curation verbs; git-pr-types.md is rewritten off the long-dead is_root_pr model; PR/workspace/git-error pages stop assuming GitHub (forge-agnostic + env-ladder semantics). Co-authored-by: Renn F <rennf93@users.noreply.github.com>
58 lines
3.5 KiB
Markdown
58 lines
3.5 KiB
Markdown
# Possibilities Matrix (work-already-done fast path)
|
|
|
|
A fast path on `i_am_done`: when a dev's work already looks done, the choreographer submits straight to `awaiting_qa` in one call instead of walking the standard verify/journal turn. Gated by `ROBOCO_POSSIBILITIES_MATRIX_ENABLED` (default off — panel-toggleable, Settings → Feature Flags). Fully inert when off: `i_am_done` behaves exactly as it always has.
|
|
|
|
## You don't opt in — it's transparent
|
|
|
|
There is no separate verb and no argument that turns this on. A developer always just calls:
|
|
|
|
```python
|
|
i_am_done(task_id="<task>", notes="...", resolved_findings=None)
|
|
```
|
|
|
|
`_maybe_i_am_done_fast_path` runs on **every** `i_am_done` call when the flag is armed, checks whether the task already looks done, and silently takes the fast path when it does. Nothing about how you call `i_am_done` changes — you never need to know whether the fast path fired.
|
|
|
|
The orchestrator's dev spawn prompt sometimes steers a freshly spawned dev straight to a `WORK_ALREADY_DONE` state (when the flag is on and the task already has an open PR + commits at spawn time) that tells you to call `i_am_done` directly rather than re-deriving what's already done — this is a turn-saving nudge for that specific spawn-timing case, not a requirement. A mid-session dev who never saw that prompt still gets the fast path the moment it calls plain `i_am_done`.
|
|
|
|
## What "already looks done" means
|
|
|
|
`_work_appears_done` — all of the following, checked against the live task:
|
|
|
|
- Status is `claimed`, `in_progress`, or `verifying`
|
|
- At least one commit exists
|
|
- A PR is open (`pr_created` or `pr_number` set)
|
|
- Every acceptance criterion is addressed (each AC has a recorded artifact reference)
|
|
- No open finding remains on the revision-findings ledger for this task
|
|
|
|
Ownership (`assigned_to == you`) is checked separately before the fast path is even considered.
|
|
|
|
## What still runs — nothing is skipped that matters
|
|
|
|
The fast path is not a bypass of the non-negotiable guards, only of the standard multi-turn derivation:
|
|
|
|
1. Substantive-notes check
|
|
2. Video render-preview check, on a `source=video` task (`Requirement.RENDER_VERIFIED`)
|
|
3. `resolved_findings` applied, if given
|
|
4. Commits/PR field gates (`NO_COMMITS` / `NO_PR`)
|
|
5. Branch pushed
|
|
6. Not behind base
|
|
7. Architectural-conventions gate, if enabled
|
|
8. Every open finding re-checked — `FINDINGS_ADDRESSED` still blocks a resubmit that left one unnamed
|
|
9. The quality verdict (below)
|
|
|
|
What IS skipped versus the standard path: the retroactive rich-plan derivation, and the journal progress/reflect tracing gates.
|
|
|
|
## The quality verdict — CI trusted, local gate as fallback
|
|
|
|
`_fast_path_quality_verdict` resolves the assembled PR's own CI status the same way `pr_pass` does:
|
|
|
|
- **CI green** → trusted outright; no local gate runs at all.
|
|
- **CI red** → the fast path refuses outright: "fast path refused — PR CI is failing; QA reviews working code, not a red build." Fix CI (or route through the standard path) — the fast path will not ship a known-red build to QA.
|
|
- **No CI signal at all** (not configured, pending, or unresolvable) → falls back to the local `make quality`-style gate (plus the toolchain-match guard, when `ROBOCO_TOOLCHAIN_MATCH_ENABLED` is also armed).
|
|
|
|
## See also
|
|
|
|
- `docs/rag/roles/developer.md` — the fast path from the dev's seat
|
|
- `docs/rag/roles/pr-reviewer.md` / `docs/rag/architecture/review-findings.md` — the same CI-green trust `pr_pass` applies
|
|
- `CLAUDE.md` "Possibilities matrix" — the canonical feature summary
|