Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
"url": "https://github.com/jjackson"
},
"metadata": {
"version": "0.13.326"
"version": "0.13.327"
},
"plugins": [
{
"name": "ace",
"source": "./",
"version": "0.13.326",
"version": "0.13.327",
"description": "AI Connect Engine — orchestrates the CRISPR-Connect lifecycle from idea through app building, Connect setup, LLO management, and closeout"
}
]
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ace",
"version": "0.13.326",
"version": "0.13.327",
"description": "AI Connect Engine — orchestrates the CRISPR-Connect lifecycle from idea through app building, Connect setup, LLO management, and closeout",
"author": {
"name": "Jonathan Jackson",
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.13.326
0.13.327
4 changes: 3 additions & 1 deletion agents/closeout.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ You handle the closeout of a completed CRISPR-Connect opportunity.
### Step 1: Invoice and Payment
Invoke the `opp-closeout` skill.
- Input: opportunity details, invoice data
- Output: invoices pulled, Jira payment ticket created
- Output:
- invoices pulled, Jira payment ticket created
- Appended `closeout-depth`, `learnings-summary-scope` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention`).

### Step 2: LLO Feedback
Invoke the `llo-feedback` skill.
Expand Down
9 changes: 7 additions & 2 deletions agents/commcare-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,9 @@ Step 1.5), since `nova-plugin#2` affects every architect dispatch
identically — not just builds.

- Input: approved PDD from GDrive
- Output: app JSON/CCZ files + summaries written to `ACE/<opp-name>/app-summaries/`
- Output:
- app JSON/CCZ files + summaries written to `ACE/<opp-name>/app-summaries/`
- From `pdd-to-deliver-app`: appended `deliver-unit-count`, `one-form-per-module-workaround`, `multimedia-coverage-strategy` rows in `decisions.yaml` (merge-only; rows are emitted only when they meet the bar criterion in `skills/idea-to-pdd/SKILL.md § Decisions Log Convention` — the list is a working catalog, not a required set).
- **LLM-as-Judge:** unless `--no-evals` was passed, dispatch
`pdd-to-learn-app-eval` after the Learn build and
`pdd-to-deliver-app-eval` after the Deliver build. Each writes
Expand Down Expand Up @@ -277,7 +279,10 @@ pre-flight (real failure mode from turmeric run 20260509-0455). See
`agents/ace-orchestrator.md § Skill Invocation Discipline`.

- Reads: pdd-to-app-journeys.md, both app summaries, Nova blueprints
- Writes: app-test-cases.yaml + recipes/J*.yaml under app-test-cases/
- Writes:
- app-test-cases.yaml + recipes/J*.yaml under app-test-cases/
- Appended `test-scenario-count`, `test-archetype-coverage` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention`).
Note: `app-test-cases/SKILL.md` records these rows with `phase: 6-qa-and-training` even though dispatch happens here in Phase 3. That's an upstream `phase:` mismatch in the SKILL.md (see issue #399 follow-up); don't paper over it on the writer side.
- Halts on missing inputs or recipe-validation failure

Phase 6 shallow runs the smoke recipes; /ace:qa-deep runs them all.
Expand Down
12 changes: 7 additions & 5 deletions agents/connect-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,13 @@ Invoke the `connect-program-setup` skill.
Invoke the `connect-opp-setup` skill.

- **Input:** program UUID from Step 1; PDD; deployment summary from Phase 3.
- **Output:** Opportunity created with `is_test=true`, verification flags +
payment units configured, **activated**, and ACE test user
(`${ACE_E2E_PHONE}`) pre-invited. Details in
`ACE/<opp-name>/runs/<run-id>/4-connect/connect-opp-setup.md` with the
opportunity UUID.
- **Output:**
- Opportunity created with `is_test=true`, verification flags +
payment units configured, **activated**, and ACE test user
(`${ACE_E2E_PHONE}`) pre-invited. Details in
`ACE/<opp-name>/runs/<run-id>/4-connect/connect-opp-setup.md` with the
opportunity UUID.
- Appended `verification-flags`, `payment-unit-shape`, `opportunity-end-date` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention` — only rows that meet the bar are emitted).
- **Depends on:** Step 1 (needs program UUID); Phase 3 outputs (needs
CommCare app metadata).
- **Activation:** Phase 4 activates the opp synchronously (Step 6.5 in
Expand Down
4 changes: 3 additions & 1 deletion agents/execution-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,9 @@ Invoke the `llo-uat` skill.
### Step 3: Opportunity Go-Live
Invoke the `llo-launch` skill.
- Input: UAT results confirming LLO sign-offs
- Output: opportunity activated in Connect, LLOs notified of go-live
- Output:
- opportunity activated in Connect, LLOs notified of go-live
- Appended `llo-capacity-actual`, `day-one-readiness`, `downstream-handoff-alignment`, `stop-loss-planning` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention`). These four rows map 1:1 to `llo-launch-eval`'s viability axis (PR #145) so the rubric has structured input instead of grading on prose.
- **Gate (review mode):** Present launch readiness summary for approval before activating
- **LLM-as-Judge:** unless `--no-evals` was passed, dispatch
`llo-launch-eval` after activation. Writes `verdicts/llo-launch.yaml`.
Expand Down
8 changes: 5 additions & 3 deletions agents/ocs-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,11 @@ refuses to proceed without a fresh, passing deep verdict.
### Step 1: Configure the chatbot
Invoke the `ocs-agent-setup` skill.
- Input: `ACE/<opp-name>/` — PDD, training materials, app summaries, opportunity config
- Output: cloned chatbot with opp system prompt, RAG collection indexed,
version published. `ACE/<opp-name>/runs/<run-id>/5-ocs/ocs-agent-setup.md` written with
`{experiment_id, public_id, embed_key, collection_id, pipeline_id, version_number}`
- Output:
- cloned chatbot with opp system prompt, RAG collection indexed,
version published. `ACE/<opp-name>/runs/<run-id>/5-ocs/ocs-agent-setup.md` written with
`{experiment_id, public_id, embed_key, collection_id, pipeline_id, version_number}`
- Appended `system-prompt-baseline`, `rag-collection-scope`, `test-prompt-count` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention`).
- Idempotent: if a bot named `"ACE - <opp-name>"` already exists, resumes from
existing config

Expand Down
23 changes: 20 additions & 3 deletions agents/orchestrator-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -603,9 +603,26 @@ Scope and `skills/idea-to-pdd/SKILL.md` § Decisions Log Convention §
Bar criterion). Each phase's primary writing skill owns the rows it
writes. The orchestrator stub-fills + warns post-phase if a phase
wrote zero rows AND the calibration set for that phase has any
required rows. PR #1 covers Phase 1 (`idea-to-pdd`); Phase 3–10 writes
ship in PR #3 of the decisions-log series. Schema and YAML helpers
live in `lib/decisions-schema.ts`.
required rows. Schema and YAML helpers live in `lib/decisions-schema.ts`.

**The procedural authority for each phase is the per-step `Output`
block in its `agents/<phase>.md` file**, not the catalog in the writing
skill's `SKILL.md`. The catalog (the `## Decisions Log` section in each
producer skill) is a teaching device — listing the rows that commonly
qualify under the bar for that phase. The agent file's per-step `Output`
bullets are what the dispatched subagent treats as its checklist.
Documented catalogs without a matching per-step bullet produced silent
zero-write failures across Phase 2–9 on the malaria-itn-app run filed
as `jjackson/ace#399`; the fix was the per-step Output enumeration that
now lives in every downstream agent file. When you add a new skill that
writes anchor rows, BOTH must be updated together: the catalog in
`SKILL.md` AND the `Output:` bullet in the dispatching agent file. The
catalog alone is not load-bearing.

History: PR #1 of the decisions-log series shipped Phase 1
(`idea-to-pdd` + `pdd-to-work-order`). PR #4 added Decisions Log
catalogs to Phase 3–10 skills but did NOT update the agent files; that
gap was closed by the issue #399 fix.

## Recurring writers — TBD

Expand Down
18 changes: 10 additions & 8 deletions agents/solicitation-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,16 @@ lifecycle requires explicit human approval and is run manually via
Invoke the `solicitation-create` skill.
- Input: approved PDD (`inputs/pdd.md`), `opp.yaml`
(`connect.program.id`, total_budget)
- Output: `solicitation/published.md`,
`phases.solicitation-management.products.solicitation` populated in
the current run's `run_state.yaml` with
`{solicitation_id, public_url, deadline, status: open,
labs_program_id, ...}`. `selected_llo` is populated by
`solicitation-review` on award at `products.selected_llo`. The labs
program int is cached durably at
`opp.yaml.connect.program.labs_int_id`.
- Output:
- `solicitation/published.md`,
`phases.solicitation-management.products.solicitation` populated in
the current run's `run_state.yaml` with
`{solicitation_id, public_url, deadline, status: open,
labs_program_id, ...}`. `selected_llo` is populated by
`solicitation-review` on award at `products.selected_llo`. The labs
program int is cached durably at
`opp.yaml.connect.program.labs_int_id`.
- Appended `solicitation-type`, `response-deadline`, `response-template-choice` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention`).
- **LLM-as-Judge:** unless `--no-evals` was passed, dispatch
`solicitation-create-eval` after publish. Writes
`verdicts/solicitation-create.yaml`.
Expand Down
1 change: 1 addition & 0 deletions agents/synthetic-data-and-workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ Invoke `synthetic-narrative-plan`.
opp.yaml.
- Produces `7-synthetic/synthetic-narrative-plan.md` (human narrative)
and `7-synthetic/synthetic-narrative-plan.yaml` (the manifest).
- Appends `persona-count`, `scenario-count`, `narrative-arc-shape` rows in `decisions.yaml` (merge-only; bar criterion per `skills/idea-to-pdd/SKILL.md § Decisions Log Convention`).
- The manifest schema is identical to `synthetic-data-generate`'s; this
skill just authors a richer instance with named FLWs, deliberate
anomalies, coaching-arc transcripts.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ace",
"version": "0.13.326",
"version": "0.13.327",
"description": "AI Connect Engine - orchestrator for building Connect Opps using AI",
"type": "module",
"scripts": {
Expand Down
Loading