@caddis/cli 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/antigravity-plugin/CADDIS-GLOSSARY.md +150 -0
- package/bundles/antigravity-plugin/plugin.json +1 -1
- package/bundles/antigravity-plugin/scripts/setup_project_ai.py +4 -0
- package/bundles/antigravity-plugin/skills/glossary/SKILL.md +4 -0
- package/bundles/manifest.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Pipeline Glossary
|
|
2
|
+
|
|
3
|
+
> **Shipped as `CADDIS-GLOSSARY.md`.** This defines CADDIS's own vocabulary — the words the
|
|
4
|
+
> toolchain coined, which a user meets constantly and cannot guess from the plain word. Your
|
|
5
|
+
> project's own terms belong in `.caddis/kb/GLOSSARY.md` instead; run `/caddis:glossary` to
|
|
6
|
+
> build one. Two files, two subjects, deliberately different names.
|
|
7
|
+
|
|
8
|
+
Canonical terms used across all agents, skills, and pipeline infrastructure.
|
|
9
|
+
When writing agent instructions, skills, or documentation, use ONLY these terms.
|
|
10
|
+
|
|
11
|
+
Two vocabularies live here and they are NOT interchangeable. **Core Terms** onward describe the
|
|
12
|
+
agent PIPELINE (orchestrator, stages, `pipeline-state.json`). **Toolchain Terms** describe caddis
|
|
13
|
+
as a distributed product (pool, mirror, export target). A word can be canonical in one and absent
|
|
14
|
+
from the other; where they genuinely collide, the collision is named under Flagged ambiguities
|
|
15
|
+
rather than resolved by fiat.
|
|
16
|
+
|
|
17
|
+
Admission test, borrowed from `last30days-skill`'s CONCEPTS.md: a term belongs here when its
|
|
18
|
+
project meaning is **distinct enough from its ordinary technical sense that a newcomer would
|
|
19
|
+
misread it**. `commit` does not belong. `pool` does.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Core Terms
|
|
24
|
+
|
|
25
|
+
| Canonical Term | Definition | DO NOT USE |
|
|
26
|
+
|---------------|------------|------------|
|
|
27
|
+
| artefact | Any file produced by an agent as pipeline output. This is the correct spelling in all contexts — field names, prose, section headers. | artifact, deliverable, output file |
|
|
28
|
+
| stage | A pipeline-level progression step (intent, prd, architect, plan, implement, tester, review, closed) | phase (for pipeline steps), step |
|
|
29
|
+
| phase | A subdivision of work within a Plan (Phase 1, Phase 2…). Phases exist WITHIN the implement stage. | stage (for plan subdivisions), step |
|
|
30
|
+
| chain_id | Feature tracking ID format: `FEAT-YYYY-MMDD-slug`. Links all artefacts for a feature. | feature_id, tracking_id |
|
|
31
|
+
| handoff | Transfer of work from one agent to another via Orchestrator | routing (for the transfer act), delegation, dispatch, hand-off |
|
|
32
|
+
| handoff payload | The `_notes.handoff_payload` object written by Orchestrator via `update_notes` MCP tool before routing to a specialist | routing context, task context |
|
|
33
|
+
| evidence bundle | Anchor's structured proof-of-work document (`agent-docs/anchor-evidence-*.md`) | proof, verification report |
|
|
34
|
+
| gate | A supervision checkpoint requiring approval before pipeline advances (`supervision_gates.*`) | checkpoint, approval point |
|
|
35
|
+
| HARD STOP | Absolute refusal to proceed — security violation, out-of-scope request, or rogue state edit | halt, block, refuse |
|
|
36
|
+
| skill | A reusable knowledge pack in `.github/skills/{category}/{name}/SKILL.md` | SKILL (when referring to the concept, not the filename) |
|
|
37
|
+
| prompt | A reusable prompt file in `.github/prompts/*.prompt.md` | skill (when referring to prompt files — prompts are not skills) |
|
|
38
|
+
| onboarding prompt | The project bootstrap prompt at `.github/prompts/onboarding.prompt.md` | onboarding skill |
|
|
39
|
+
|
|
40
|
+
## Pipeline Modes
|
|
41
|
+
|
|
42
|
+
| Term | Definition |
|
|
43
|
+
|------|------------|
|
|
44
|
+
| supervised | All gates require manual user approval. Default mode. |
|
|
45
|
+
| assisted | Manual gates with AI guidance hints. Auto-routing between stages. |
|
|
46
|
+
| autopilot | All gates auto-satisfied except `intent_approved`. Fully hands-free after intent approval. |
|
|
47
|
+
|
|
48
|
+
## Result Statuses
|
|
49
|
+
|
|
50
|
+
### MCP `notify_orchestrator` — `result_status` parameter
|
|
51
|
+
|
|
52
|
+
| Value | Meaning | Used By |
|
|
53
|
+
|-------|---------|---------|
|
|
54
|
+
| `complete` | Standard stage completion | All agents |
|
|
55
|
+
| `phase_complete` | Multi-phase loop — implement stays in implement for next phase | Implement agent |
|
|
56
|
+
| `recovered` | Recovery after guard failure | Orchestrator (debug flow) |
|
|
57
|
+
|
|
58
|
+
### Agent-Specific Result Fields
|
|
59
|
+
|
|
60
|
+
| Agent | Field | Possible Values | Meaning |
|
|
61
|
+
|-------|-------|-----------------|---------|
|
|
62
|
+
| Tester | `tester_result.status` | `passed`, `failed` | All tests pass / any test fails |
|
|
63
|
+
| Code Reviewer | `Verdict` | `approved`, `revision-requested` | Code meets standards / needs changes |
|
|
64
|
+
| All agents (artefact YAML header) | `approval` | `approved`, `pending`, `revision-requested` | Artefact acceptance status |
|
|
65
|
+
|
|
66
|
+
### Orchestrator Artefact Validation Guards
|
|
67
|
+
|
|
68
|
+
| Guard | Checks |
|
|
69
|
+
|-------|--------|
|
|
70
|
+
| `artefact_exists` | File at `artefact_path` exists on disk |
|
|
71
|
+
| `artefact_approved` | YAML header `approval:` field is `approved` |
|
|
72
|
+
| `all_phases_done` | All implementation phases complete |
|
|
73
|
+
|
|
74
|
+
## File Naming Conventions
|
|
75
|
+
|
|
76
|
+
| Pattern | Example | Usage |
|
|
77
|
+
|---------|---------|-------|
|
|
78
|
+
| Agent file | `frontend-developer.agent.md` | Lowercase kebab-case matching `name` frontmatter field |
|
|
79
|
+
| Skill file | `.github/skills/{category}/{name}/SKILL.md` | Category folder + name folder + SKILL.md |
|
|
80
|
+
| Plan file | `.github/plans/{feature-slug}.md` | Feature slug from chain_id |
|
|
81
|
+
| Evidence file | `agent-docs/anchor-evidence-{feature}.md` | Per-feature evidence bundle |
|
|
82
|
+
| Artefact registry | `agent-docs/ARTIFACTS.md` | Single registry for all pipeline artefacts |
|
|
83
|
+
| Pipeline state | `.github/pipeline-state.json` | Live pipeline state — written ONLY by MCP tools |
|
|
84
|
+
|
|
85
|
+
## Pipeline State Field Ownership
|
|
86
|
+
|
|
87
|
+
All writes to `pipeline-state.json` go through MCP tools. Only `stages[*].status`, `stages[*].artefact`, `stages[*].completed_at`, and `blocked_by` may be set via `editFiles`.
|
|
88
|
+
|
|
89
|
+
| Field | Writer | Tool |
|
|
90
|
+
|-------|--------|------|
|
|
91
|
+
| `current_stage` | Pipeline runner | `notify_orchestrator` |
|
|
92
|
+
| `supervision_gates[*]` | Orchestrator | `satisfy_gate` |
|
|
93
|
+
| `pipeline_mode` | Orchestrator | `set_pipeline_mode` |
|
|
94
|
+
| `_notes.*` | Orchestrator / agents | `update_notes` |
|
|
95
|
+
| `project`, `feature`, `type` | Orchestrator | `pipeline_init` / `pipeline_reset` |
|
|
96
|
+
|
|
97
|
+
## Common Conflations to Avoid
|
|
98
|
+
|
|
99
|
+
| Wrong | Correct | Why |
|
|
100
|
+
|-------|---------|-----|
|
|
101
|
+
| "Phase 3 of the pipeline" | "The implement stage" | Phases are within a Plan; stages are pipeline-level |
|
|
102
|
+
| "The artifact registry" | "The artefact registry" | British spelling is canonical (matches all field names) |
|
|
103
|
+
| "Run the onboarding skill" | "Run the onboarding prompt" | `.prompt.md` files are prompts, not skills |
|
|
104
|
+
| "Route to the agent" | "Hand off to the agent" | Routing is Orchestrator's internal logic; handoff is the transfer act |
|
|
105
|
+
| `[Stage/Phase N]` | `[Phase N]` (within Plan) or `[Stage: implement]` (pipeline-level) | Don't conflate the two with a slash |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Toolchain Terms
|
|
110
|
+
|
|
111
|
+
caddis-the-product, as opposed to the agent pipeline above. These are the words caddis invented
|
|
112
|
+
out of ordinary English, which is exactly why they need defining: a reader who guesses from the
|
|
113
|
+
plain word gets them wrong. Usage counts were measured across 444 markdown files on 2026-08-29.
|
|
114
|
+
|
|
115
|
+
| Canonical Term | Definition | DO NOT USE |
|
|
116
|
+
|---|---|---|
|
|
117
|
+
| pool | The single source of every shipped resource, living in `.github/` (skills, agents, commands, prompts). Everything a user installs is EXPORTED from the pool; nothing is authored in a bundle. Versioned independently of the CLI, and bumped only by `caddis-push` — never by hand. *(222 uses)* | bundle (for the source), library |
|
|
118
|
+
| bundle | One EXPORTED copy of the pool, shaped for a single target — `dist/runtime-resources/<target>/`. A bundle is generated output; editing one is always a mistake. | pool (for a built copy) |
|
|
119
|
+
| export target | A named consumer in `.github/runtime-targets.json` — claude, antigravity, antigravity-plugin, codex, copilot, plus `-extras` variants. Each takes a different subset and layout from the same pool. | platform, host (for a target) |
|
|
120
|
+
| mirror | The public repo `saajunaid/caddis-plugin`, refreshed by `caddis-push`. The SOURCE repo is private, so the mirror is what any other machine can actually reach. | upstream, remote |
|
|
121
|
+
| relay | `.caddis/relay.md` — the durable resume doc, rewritten by `/caddis:handoff` and injected at SessionStart. Machine-local and gitignored. Only changes when someone runs a handoff, so it is stale between them by design. *(168 uses)* | handoff doc, session notes |
|
|
122
|
+
| session state | `.caddis/session-state.md` — auto-captured by the `Stop` hook at the end of EVERY turn. Distinct from the relay: current without anyone deciding to make it current, and it holds no agreed next step. | relay (they are different files with different guarantees) |
|
|
123
|
+
| drift | A gap between what a consumer HAS installed and what the pool currently ships. `caddis status` reports it per agent. Not code drift, not schema drift. *(160 uses)* | staleness, lag |
|
|
124
|
+
| live-fire | Driving a real binary end to end rather than asserting against a manifest. Coined because three defects in one month passed every test and still gave a human a broken install: the tests asked "does the export match the manifest", never "would this work". An export target is not trusted until it has been live-fired once. | smoke test, integration test, manual test |
|
|
125
|
+
| parking-lot | `.caddis/parking-lot/` — the ONE register of future work. It exists because future work previously scattered to nine places and no session could answer "what is left". Items carry `severity` and `status`; the backlog IS the plan when no plan is active. *(41 uses)* | backlog file, TODO list, icebox |
|
|
126
|
+
| model lane | A named provider route reached by its own binary — `claude-oss`, `claude-glm`, `claude-deepseek` — all speaking the Anthropic protocol. A lane is a route, not a model. | provider, backend, endpoint |
|
|
127
|
+
| core / extras | The two shipping tiers. Core is an EXPLICIT allowlist in `.github/runtime-targets.json`; anything not named there lands in extras. A skill defaults to extras, so placement is a decision, never an accident. | tier 1 / tier 2, full / lite |
|
|
128
|
+
| harness | The agent runtime that loads caddis — Claude Code, agy, Codex, Copilot. caddis is agent-agnostic; "the harness" without a name means whichever one is running. *(135 uses)* | client, IDE, platform |
|
|
129
|
+
|
|
130
|
+
## Flagged ambiguities
|
|
131
|
+
|
|
132
|
+
Named rather than resolved. Pretending the vocabulary is clean is how a glossary starts lying.
|
|
133
|
+
|
|
134
|
+
- **`gate` is overloaded, badly.** Core Terms defines it as a supervision checkpoint requiring
|
|
135
|
+
approval. That is one of at least twelve senses in live use: *exit gate* (20), *quality gate*
|
|
136
|
+
(9), *evidence gate* (5), *decision gate* (3), plus pre-publish, handover and privacy gates —
|
|
137
|
+
none of which involve pipeline supervision. The word appears 1019 times across 168 files.
|
|
138
|
+
**Prefer the full two-word term everywhere**; a bare "gate" is ambiguous and the reader cannot
|
|
139
|
+
tell which one you meant.
|
|
140
|
+
|
|
141
|
+
- **`artefact` vs `artifact`.** Core Terms makes `artefact` canonical, and for pipeline outputs it
|
|
142
|
+
is. But the toolchain's own code says `artifact_root` and "artifact dir" (17 uses in
|
|
143
|
+
`scripts/setup_project_ai.py` alone), and those are API names that cannot be respelled without
|
|
144
|
+
a breaking change. So: **artefact** in pipeline prose and field names; **artifact dir /
|
|
145
|
+
`artifact_root`** when naming the `.caddis/` directory mechanism. Do not "fix" one into the other.
|
|
146
|
+
|
|
147
|
+
- **`skill` means two things across harnesses.** In the pool it is
|
|
148
|
+
`.github/skills/<category>/<name>/SKILL.md`. But agy CONVERTS commands into skills at install
|
|
149
|
+
time, so `/caddis:catchup` ships as a command and arrives as an agy skill. A skill count that
|
|
150
|
+
disagrees between two agents is usually this, not a bug.
|
|
@@ -919,6 +919,10 @@ English does not, and marks which already have an entry:
|
|
|
919
919
|
It cannot write the definitions - only a person or the model reading the code can say what
|
|
920
920
|
a coined word MEANS here. Run `/caddis:glossary` to have them drafted, or write them.
|
|
921
921
|
|
|
922
|
+
This file is for YOUR project's vocabulary. caddis's own coined words - pool, relay, drift,
|
|
923
|
+
export target - are defined separately in `CADDIS-GLOSSARY.md` at the plugin root, which also
|
|
924
|
+
serves as a worked example of what a good entry looks like. Do not copy those terms in here.
|
|
925
|
+
|
|
922
926
|
| Term | Definition | DO NOT USE |
|
|
923
927
|
|---|---|---|
|
|
924
928
|
| _example_ | Replace this row. Say what the word means HERE, and why the ordinary reading is wrong. | the synonyms that cause confusion |
|
|
@@ -52,6 +52,10 @@ Each row gets three things:
|
|
|
52
52
|
| **Definition** | What it means HERE, and — where it helps — why the ordinary reading misleads. Say the thing a newcomer would get wrong. |
|
|
53
53
|
| **DO NOT USE** | The synonyms actually causing confusion in this repo. Leave blank rather than inventing some. |
|
|
54
54
|
|
|
55
|
+
**A worked example ships with caddis.** `CADDIS-GLOSSARY.md` at the plugin root defines caddis's
|
|
56
|
+
own coined vocabulary the same way — read a few entries before writing yours. It is caddis's
|
|
57
|
+
words, not this project's: never copy its terms into a project glossary.
|
|
58
|
+
|
|
55
59
|
Good: *"pool — the single source of every shipped resource, in `.github/`. Everything installed is EXPORTED from it; nothing is authored in a bundle."*
|
|
56
60
|
|
|
57
61
|
Bad: *"pool — a pool of resources."*
|
package/bundles/manifest.json
CHANGED
package/package.json
CHANGED