@axiom-lattice/core 3.0.5 → 3.0.6
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/dist/index.js +293 -35
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +293 -35
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12640,6 +12640,24 @@ cases, you MUST ask the user via ask_user_to_clarify \u2014 never proceed
|
|
|
12640
12640
|
with an assumed expectation. A test case written against a guessed
|
|
12641
12641
|
expectation validates the wrong thing. When in doubt, ask.
|
|
12642
12642
|
|
|
12643
|
+
## Knowledge in Skills (apply to EVERY sub-skill workflow)
|
|
12644
|
+
|
|
12645
|
+
**Domain knowledge lives in SKILL.md files, not in prompts.** The
|
|
12646
|
+
deliverable's knowledge (rules, formats, decision logic, procedures) is
|
|
12647
|
+
authored as skills; the executable (agent prompt, workflow step) stays
|
|
12648
|
+
THIN \u2014 role/process only, loading knowledge via "Load [[skill-name]]
|
|
12649
|
+
and follow it". Never write domain knowledge directly into a system
|
|
12650
|
+
prompt or a workflow step's prompt.
|
|
12651
|
+
|
|
12652
|
+
Why: knowledge in prompts cannot be reused, individually verified, or
|
|
12653
|
+
evolved. Knowledge in skills is shared (subSkills), regression-tested
|
|
12654
|
+
([[eval-verify]]), and improved without touching the executable.
|
|
12655
|
+
|
|
12656
|
+
Applies to every construction path: [[learn-capability]] (skills are
|
|
12657
|
+
the primary output), [[agent-build]] (agent prompt thin, loads skill),
|
|
12658
|
+
[[design-workflow]] (steps reference [[skill-name]] or ref to
|
|
12659
|
+
skill-loading agents). All three follow this single principle.
|
|
12660
|
+
|
|
12643
12661
|
## Goal-Driven Validation (apply to EVERY sub-skill workflow)
|
|
12644
12662
|
|
|
12645
12663
|
The agent evaluates goal achievement ITSELF via multi-dimensional test
|
|
@@ -12659,6 +12677,29 @@ green = goal achieved (per [[completion-gate]] and [[eval-verify]]).
|
|
|
12659
12677
|
The goal model is the acceptance standard \u2014 contentAssertion must
|
|
12660
12678
|
encode the usable state, not just technical correctness.
|
|
12661
12679
|
|
|
12680
|
+
## Undefined Tasks (outside the skill map)
|
|
12681
|
+
|
|
12682
|
+
If the request does not match any sub-skill workflow: do NOT guess, do
|
|
12683
|
+
NOT refuse, do NOT force-fit an existing flow. Follow the
|
|
12684
|
+
EXPLORE \u2192 PROPOSE \u2192 CONFIRM protocol:
|
|
12685
|
+
|
|
12686
|
+
1. **Explore** \u2014 inventory before proposing anything:
|
|
12687
|
+
\`list_agents\` / \`load_skills\` (existing assets), \`list_tools\` /
|
|
12688
|
+
\`list_middleware_types\` (capabilities), \`list_connections\`
|
|
12689
|
+
(data sources), eval projects (verification), docs at hand.
|
|
12690
|
+
Goal: know what is reusable and what is missing.
|
|
12691
|
+
2. **Propose** \u2014 present 2-3 concrete options, each with: what it
|
|
12692
|
+
does, cost, risk, and what it needs (new tools / new skills /
|
|
12693
|
+
approvals).
|
|
12694
|
+
3. **Confirm** \u2014 the user picks an option or adjusts it. Never
|
|
12695
|
+
execute without a chosen option.
|
|
12696
|
+
4. **New capability needed?** (new tool type, new skill, new
|
|
12697
|
+
connection) \u2014 include creating it ([[create-skill]] / connection
|
|
12698
|
+
setup) IN the proposed option; never silently proceed without it.
|
|
12699
|
+
5. **Boundary honesty** \u2014 state clearly what the architect cannot do
|
|
12700
|
+
(e.g. deploy to production, monitor runtime, change frontend),
|
|
12701
|
+
and give the alternative \u2014 never overpromise or silently refuse.
|
|
12702
|
+
|
|
12662
12703
|
## Skill Map
|
|
12663
12704
|
- [[learn-capability]] \u2014 Learn from any source material (user
|
|
12664
12705
|
description, documents, API specs, conversations, spreadsheets) and
|
|
@@ -12767,6 +12808,9 @@ Do NOT create tasks for:
|
|
|
12767
12808
|
**A task is a living record of the GOAL + ACCEPTANCE CRITERIA** \u2014 not a
|
|
12768
12809
|
todo label. Every task's description must carry:
|
|
12769
12810
|
|
|
12811
|
+
- **Goal Model** \u2014 the full goal model ([[agent-architecture|Goal
|
|
12812
|
+
Model]]): real goal, consumer (who uses the result), usable state
|
|
12813
|
+
(what "done and usable" means concretely)
|
|
12770
12814
|
- **Objective** \u2014 one measurable sentence: what result to achieve
|
|
12771
12815
|
- **Acceptance Criteria** \u2014 checkboxes that define "done": when ALL
|
|
12772
12816
|
are checked, the task is verifiably complete
|
|
@@ -12917,8 +12961,13 @@ When unsure, use \`show_widget\` for visual comparison.
|
|
|
12917
12961
|
- **Follow [[agent-architecture|Goal Model]]** \u2014 establish the goal
|
|
12918
12962
|
model (real goal / consumer / usable state) and design the agent to
|
|
12919
12963
|
achieve it; verification is goal-driven ([[agent-architecture|Goal-Driven Validation]]).
|
|
12920
|
-
- **
|
|
12921
|
-
|
|
12964
|
+
- **Follow [[agent-architecture|Knowledge in Skills]]** \u2014 the prompt is
|
|
12965
|
+
thin (role/behavior); domain knowledge lives in SKILL.md which the
|
|
12966
|
+
agent loads ("Load [[skill-name]] and follow it"). Never write
|
|
12967
|
+
domain knowledge directly into a system prompt.
|
|
12968
|
+
- **NEVER build before confirming.** Design \u2192 confirm via
|
|
12969
|
+
\`ask_user_to_clarify\` \u2192 wait for approval \u2192 only then build.
|
|
12970
|
+
No exceptions.
|
|
12922
12971
|
- **Track with tasks once scope is clear.** After requirements are
|
|
12923
12972
|
clarified, create the parent task ([[task-tracking]]) before starting
|
|
12924
12973
|
design. Don't create tasks during clarification.
|
|
@@ -12931,18 +12980,23 @@ When unsure, use \`show_widget\` for visual comparison.
|
|
|
12931
12980
|
|
|
12932
12981
|
## REACT design steps
|
|
12933
12982
|
|
|
12934
|
-
1.
|
|
12983
|
+
1. **Establish the goal model FIRST** \u2014 real goal / user expectation /
|
|
12984
|
+
consumer / usable state ([[agent-architecture|Goal Model]]); record
|
|
12985
|
+
it in the parent task. Design, build, and verification all derive
|
|
12986
|
+
from it. Only then:
|
|
12935
12987
|
2. Choose middleware \u2014 call \`list_tools\` and \`list_middleware_types\`
|
|
12936
12988
|
first. MUST include \`ask_user_to_clarify\` if the agent needs
|
|
12937
12989
|
confirmation or clarifying questions.
|
|
12938
12990
|
3. Write the system prompt: role \u2192 workflow \u2192 constraints
|
|
12939
12991
|
4. Present the design with \`show_widget\`
|
|
12940
|
-
5.
|
|
12992
|
+
5. Confirm via \`ask_user_to_clarify\` \u2014 do NOT build until approved
|
|
12941
12993
|
6. Build with \`create_agent\`
|
|
12942
12994
|
|
|
12943
12995
|
## DEEP_AGENT design steps
|
|
12944
12996
|
|
|
12945
|
-
1.
|
|
12997
|
+
1. **Establish the goal model FIRST** \u2014 real goal / consumer / usable
|
|
12998
|
+
state, recorded in the parent task ([[agent-architecture|Goal
|
|
12999
|
+
Model]]); then explain why DEEP_AGENT is the right choice
|
|
12946
13000
|
2. Capability mapping with \`show_widget\`
|
|
12947
13001
|
3. System prompt emphasizes dynamic todo workflow (analyze \u2192 break
|
|
12948
13002
|
into todos \u2192 work one at a time \u2192 refine). Middleware: code_eval,
|
|
@@ -13129,22 +13183,70 @@ subSkills:
|
|
|
13129
13183
|
(hold-out, never run during fix loop)
|
|
13130
13184
|
- 0.2 \u2460 \u2192 {skill}-api-verified \u2014 queryability assertion, single step
|
|
13131
13185
|
|
|
13132
|
-
## Layered verification (orchestrator +
|
|
13133
|
-
|
|
13134
|
-
When the design
|
|
13135
|
-
|
|
13136
|
-
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13141
|
-
|
|
13142
|
-
|
|
13143
|
-
|
|
13144
|
-
|
|
13145
|
-
|
|
13146
|
-
|
|
13147
|
-
|
|
13186
|
+
## Layered verification (orchestrator + components)
|
|
13187
|
+
|
|
13188
|
+
When the design delegates to other agents, verification is layered.
|
|
13189
|
+
"Orchestrator" = a parent deep_agent with subAgents (learn-capability
|
|
13190
|
+
Phase 2) OR a workflow with \`ref\` steps ([[design-workflow]]).
|
|
13191
|
+
"Components" = the subAgents / ref'd agents it calls. Order is MANDATORY:
|
|
13192
|
+
**component evals first, integration second** \u2014 never run the
|
|
13193
|
+
integration eval before every component eval passes.
|
|
13194
|
+
|
|
13195
|
+
- **Each component**: its OWN eval project (eval-{sub-agent-id} /
|
|
13196
|
+
eval-{ref-agent-id}) \u2014 the sub capability is verified independently,
|
|
13197
|
+
with its own fix loop.
|
|
13198
|
+
- **The orchestrator**: an integration eval project (eval-{parent-id} /
|
|
13199
|
+
eval-{workflow-id}). Integration cases: full end-to-end task input \u2192
|
|
13200
|
+
orchestrator invokes components \u2192 final aggregated output \u2192
|
|
13201
|
+
contentAssertion on the final result. This verifies ORCHESTRATION
|
|
13202
|
+
(does the orchestrator call the right components in the right order
|
|
13203
|
+
and aggregate correctly).
|
|
13204
|
+
- **Workflow integration cases** also include branch paths and \`ask\`
|
|
13205
|
+
handling (see Workflow testing below) \u2014 but only AFTER the ref'd
|
|
13206
|
+
agents are independently verified.
|
|
13207
|
+
- **Orchestrator trust upgrade** requires BOTH: all component evals pass
|
|
13208
|
+
AND the orchestrator's integration eval passes. The orchestrator's
|
|
13209
|
+
metadata (verified/source) records this dependency.
|
|
13210
|
+
- Independent agents (no parent, no ref) keep single-level eval \u2014 no
|
|
13211
|
+
integration layer needed.
|
|
13212
|
+
|
|
13213
|
+
## Workflow testing (WORKFLOW-type agents)
|
|
13214
|
+
|
|
13215
|
+
Workflows compile to the same agent registry and run through the same
|
|
13216
|
+
eval path \u2014 same project naming (eval-{agent-id}), same case structure
|
|
13217
|
+
(inputMessage + steps + contentAssertion). Design differs because the
|
|
13218
|
+
pipeline is DETERMINISTIC:
|
|
13219
|
+
|
|
13220
|
+
- **One case per branch path** \u2014 each if/map/parallel route gets a case
|
|
13221
|
+
whose inputMessage drives it down that path; contentAssertion = the
|
|
13222
|
+
exact output that path must produce (from the expected output spec,
|
|
13223
|
+
Phase 1.5 in [[design-workflow]]).
|
|
13224
|
+
- **Goal-driven dimensions** \u2014 cases cover all four dimensions
|
|
13225
|
+
([[agent-architecture|Goal-Driven Validation]]), not just happy paths:
|
|
13226
|
+
- Functional correctness \u2014 each branch path produces the right result
|
|
13227
|
+
- Edge robustness \u2014 empty input, if-condition not met, map source
|
|
13228
|
+
empty, malformed data: the pipeline must fail gracefully or take
|
|
13229
|
+
the designed fallback, not crash
|
|
13230
|
+
- Business usability \u2014 output reaches the usable state (usable-state
|
|
13231
|
+
cases come from the confirmed spec, never invented)
|
|
13232
|
+
- Consumer fit \u2014 exact fields/format for system consumers, readable
|
|
13233
|
+
for human consumers
|
|
13234
|
+
- **Data contract cases** \u2014 intermediate \`{{refs}}\` handoffs and
|
|
13235
|
+
\`map\` source shapes are contracts; a contract broken mid-pipeline
|
|
13236
|
+
only surfaces at the end. One case per non-trivial handoff asserting
|
|
13237
|
+
the intermediate output shape (source data + step output).
|
|
13238
|
+
- **\`ask\` steps** \u2014 case interruptPolicy controls them
|
|
13239
|
+
(mode: stop | auto-approve | auto-reject | canned-response):
|
|
13240
|
+
- \`stop\` \u2192 the run pauses at the ask; assert the partial output
|
|
13241
|
+
BEFORE the interaction point
|
|
13242
|
+
- auto-approve / auto-reject / canned-response \u2192 supply the response
|
|
13243
|
+
and continue; assert the flow AFTER the interaction point
|
|
13244
|
+
- \`value\` holds the response text (defaults "\u540C\u610F"/"\u62D2\u7EDD" for
|
|
13245
|
+
approve/reject)
|
|
13246
|
+
- **Exact assertions** \u2014 deterministic pipeline means expected outputs
|
|
13247
|
+
are precise; judge still scores semantics on top.
|
|
13248
|
+
- **Trust upgrade is the same gate** \u2014 [[completion-gate]] applies to
|
|
13249
|
+
workflows: no eval \u2192 stays configured, never verified.
|
|
13148
13250
|
|
|
13149
13251
|
## Run
|
|
13150
13252
|
|
|
@@ -13210,11 +13312,39 @@ verified: unverified
|
|
|
13210
13312
|
# Design Workflow \u2014 WORKFLOW Agent Design
|
|
13211
13313
|
|
|
13212
13314
|
Use the WORKFLOW type when the process is fully known \u2014 a deterministic
|
|
13213
|
-
state machine with pre-defined paths.
|
|
13315
|
+
state machine with pre-defined paths. If the process is NOT fully known
|
|
13316
|
+
(open-ended, needs dynamic decomposition) \u2192 use [[learn-capability]] /
|
|
13317
|
+
[[agent-build]] (REACT / DEEP_AGENT) instead.
|
|
13214
13318
|
Follow [[agent-architecture|User Interaction Rules]] and
|
|
13215
13319
|
[[agent-architecture|Goal Model]] \u2014 establish the goal model (real
|
|
13216
13320
|
goal / consumer / usable state) before designing, and design steps
|
|
13217
13321
|
that achieve it. Acceptance = workflow outcome meets the usable state.
|
|
13322
|
+
Follow [[agent-architecture|Knowledge in Skills]]: workflow steps
|
|
13323
|
+
orchestrate; domain knowledge lives in SKILL.md. Never write domain
|
|
13324
|
+
knowledge directly into a step's prompt \u2014 load it via [[skill-name]]
|
|
13325
|
+
or delegate to an agent that loads the skill.
|
|
13326
|
+
|
|
13327
|
+
## CRITICAL RULES
|
|
13328
|
+
- **NEVER build before confirming.** Design \u2192 present the flow as a
|
|
13329
|
+
widget \u2192 discuss step-by-step with the user \u2192 confirm via
|
|
13330
|
+
\`ask_user_to_clarify\` (blocking approval) \u2192 only then call
|
|
13331
|
+
\`create_workflow\`. No exceptions.
|
|
13332
|
+
- **Always visualize the design** \u2014 present with \`show_widget\` as a
|
|
13333
|
+
Flowchart (every step, branch, \`ask\` interaction point) \u2014 never a
|
|
13334
|
+
bare text list (see Visual communication below).
|
|
13335
|
+
- **One decision at a time.** Each message asks exactly one question.
|
|
13336
|
+
- **Track with tasks once scope is clear.** Create the parent task
|
|
13337
|
+
([[task-tracking]]) before designing; record the expected output spec
|
|
13338
|
+
(Phase 1.5) in it.
|
|
13339
|
+
|
|
13340
|
+
## Visual communication
|
|
13341
|
+
|
|
13342
|
+
Use \`show_widget\` for all structure explanations \u2014 never ASCII art.
|
|
13343
|
+
| Scenario | What |
|
|
13344
|
+
|----------|------|
|
|
13345
|
+
| Workflow flow | Flowchart (steps, branches, ask points) |
|
|
13346
|
+
| Step-level comparison | Comparison cards |
|
|
13347
|
+
| Data flow / {{refs}} | Flowchart |
|
|
13218
13348
|
|
|
13219
13349
|
## Phase 0: Load Skills
|
|
13220
13350
|
|
|
@@ -13224,20 +13354,122 @@ that achieve it. Acceptance = workflow outcome meets the usable state.
|
|
|
13224
13354
|
|
|
13225
13355
|
## Phase 1: Design
|
|
13226
13356
|
|
|
13227
|
-
1.
|
|
13228
|
-
|
|
13229
|
-
|
|
13230
|
-
4.
|
|
13231
|
-
|
|
13232
|
-
|
|
13357
|
+
1. **Establish the goal model FIRST** \u2014 real goal / user expectation /
|
|
13358
|
+
consumer / usable state ([[agent-architecture|Goal Model]]); record
|
|
13359
|
+
it in the parent task. It drives the expected output spec (Phase
|
|
13360
|
+
1.5) and verification (Phase 4). Then analyze the process: map
|
|
13361
|
+
every step, branch, data dependency.
|
|
13362
|
+
2. **Choose implementation mode per step \u2014 ASK the user** (present as
|
|
13363
|
+
comparison cards). Each step's logic is either inline or \`ref\`:
|
|
13364
|
+
- **inline prompt** \u2014 logic lives in the step's prompt. Fast, no
|
|
13365
|
+
extra agents. Cost: not reusable, no own tools, verified ONLY via
|
|
13366
|
+
the integration eval. OK for trivial one-off glue steps.
|
|
13367
|
+
- **ref sub-agent** \u2014 the step delegates to a registered agent with
|
|
13368
|
+
its own tools/model/skills (built via [[agent-build]], prompt =
|
|
13369
|
+
"Load [[skill-name]] and follow it"). Reusable, independently
|
|
13370
|
+
verified (Phase 2.6). Use when the step needs tools, non-trivial
|
|
13371
|
+
or reusable logic, or independent verification.
|
|
13372
|
+
Present the per-step choice with trade-offs and let the user
|
|
13373
|
+
decide \u2014 NEVER silently pick inline or ref. When in doubt, ask.
|
|
13374
|
+
3. **Identify knowledge per step** \u2014 for each step, determine the domain
|
|
13375
|
+
knowledge it needs:
|
|
13376
|
+
- Existing skill covers it \u2192 reference [[skill-name]] in the step
|
|
13377
|
+
- No skill yet, but the knowledge is reusable or non-trivial \u2192
|
|
13378
|
+
plan to create it (Phase 1.5)
|
|
13379
|
+
- Trivial one-off logic \u2192 may stay inline in the prompt (accept the
|
|
13380
|
+
trade-off: it is not reusable or individually verifiable)
|
|
13381
|
+
4. Design using the YAML linear DSL (steps, parallel, map, if, ask).
|
|
13382
|
+
5. **Present the design as a Flowchart widget** (\`show_widget\`) \u2014 every
|
|
13383
|
+
step, branch, and \`ask\` interaction point. Walk through it with the
|
|
13384
|
+
user step-by-step (each step's responsibility, branch logic, ask
|
|
13385
|
+
points). CONFIRM via \`ask_user_to_clarify\` \u2014 never build without
|
|
13386
|
+
explicit user approval.
|
|
13387
|
+
|
|
13388
|
+
## Phase 1.5: Expected Output Specification (mandatory \u2014 goal-driven)
|
|
13389
|
+
|
|
13390
|
+
Define the workflow's EXPECTED OUTPUT SPEC from the goal model BEFORE
|
|
13391
|
+
writing skills or building: what the final outcome looks like, per
|
|
13392
|
+
consumer (0.1.5). This is the acceptance standard \u2014 [[eval-verify]]
|
|
13393
|
+
contentAssertion derives from it. HARD RULE: if the target/expected
|
|
13394
|
+
output is unclear, ask the user \u2014 never guess.
|
|
13395
|
+
Present the spec, confirm with the user, record in the parent task.
|
|
13396
|
+
|
|
13397
|
+
## Phase 2: Create Skills (for missing knowledge)
|
|
13398
|
+
|
|
13399
|
+
For each planned skill (Phase 1.2): write SKILL.md (frontmatter +
|
|
13400
|
+
body encoding the domain rules). Present each for user approval.
|
|
13401
|
+
When 3+ skills share a domain \u2192 create a MOC ([[domain-moc]]).
|
|
13402
|
+
If a ref step needs an agent \u2192 build it via [[agent-build]] (agent
|
|
13403
|
+
prompt = "Load [[skill-name]] and follow it" \u2014 thin, knowledge in
|
|
13404
|
+
skill). Order: sub-agents/skills first, then the workflow that
|
|
13405
|
+
references them.
|
|
13406
|
+
|
|
13407
|
+
## Phase 2.6: Verify components FIRST (mandatory)
|
|
13408
|
+
|
|
13409
|
+
Every agent referenced by a \`ref\` step is a component with its OWN
|
|
13410
|
+
independent eval (eval-{ref-agent-id}) \u2014 run it and pass it BEFORE
|
|
13411
|
+
building the integration eval. The workflow cannot be considered tested
|
|
13412
|
+
until: \u2460 each ref'd agent's eval passes independently, \u2461 then the
|
|
13413
|
+
workflow's integration eval (branch paths + ask handling) passes. See
|
|
13414
|
+
[[eval-verify|Layered verification]].
|
|
13415
|
+
|
|
13416
|
+
## Phase 3: Build
|
|
13417
|
+
|
|
13418
|
+
1. **Configure middleware & tools for the workflow itself** \u2014 inline
|
|
13419
|
+
steps run on the workflow's own model/tools: call
|
|
13420
|
+
\`list_middleware_types\` first; add what the workflow needs \u2014 skill
|
|
13421
|
+
(if steps load [[skill-name]]), widget, ask_user_to_clarify, etc.
|
|
13422
|
+
Tool filtering via \`allowedTools\`. \`ref\` steps use the ref'd
|
|
13423
|
+
agent's own tools/model \u2014 nothing to configure here. Choose
|
|
13424
|
+
\`modelKey\` only when a specific model is required (default
|
|
13425
|
+
otherwise).
|
|
13426
|
+
2. Call \`create_workflow\` with \`skillLoaded: true\` \u2014 steps reference
|
|
13427
|
+
[[skill-name]] or \`ref\` to skill-loading agents.
|
|
13428
|
+
3. Then \`validate_workflow(id)\`.
|
|
13429
|
+
|
|
13430
|
+
## Phase 4: Test (mandatory \u2014 no eval, no trust tier)
|
|
13431
|
+
|
|
13432
|
+
The authoritative verification is [[eval-verify]] \u2014 cases derive from
|
|
13433
|
+
the expected output spec (Phase 1.5). A workflow without a passing eval
|
|
13434
|
+
stays at "configured" forever \u2014 trust can never upgrade
|
|
13435
|
+
([[completion-gate]], no skip option).
|
|
13436
|
+
|
|
13437
|
+
**Testing is managed through the eval project (eval-{workflow-id})
|
|
13438
|
+
and its cases \u2014 the same governance as agents.** Temporary or quick
|
|
13439
|
+
checks (ad-hoc runs, previewing behavior) may use [[review-agent]] as
|
|
13440
|
+
an interactive pre-check \u2014 but that is NOT the workflow's test suite:
|
|
13441
|
+
it never upgrades trust and never replaces the eval project. Only the
|
|
13442
|
+
eval project's cases passing determine "tested".
|
|
13443
|
+
|
|
13444
|
+
**Test order \u2014 components first, then integration:**
|
|
13445
|
+
1. Each \`ref\`'d agent: its OWN eval (eval-{ref-agent-id}) must pass
|
|
13446
|
+
independently (Phase 2.6) \u2014 fix it in isolation, not through the
|
|
13447
|
+
workflow.
|
|
13448
|
+
2. Then the workflow's integration eval (eval-{workflow-id}): one case
|
|
13449
|
+
per branch path (if/map/parallel); \`ask\` steps via case
|
|
13450
|
+
interruptPolicy (auto-approve/canned-response to test the flow AFTER
|
|
13451
|
+
the pause, stop to test up to the pause); assertions are exact \u2014
|
|
13452
|
+
the pipeline is deterministic.
|
|
13453
|
+
|
|
13454
|
+
Workflow trust upgrade requires BOTH layers passing.
|
|
13455
|
+
[[review-agent]] is an optional cheap pre-check only.
|
|
13456
|
+
|
|
13457
|
+
## Editing workflows
|
|
13458
|
+
|
|
13459
|
+
Get the current YAML \u2192 present the diff \u2192 confirm with the user \u2192
|
|
13460
|
+
\`update_workflow(id, ...)\`. Never re-create.
|
|
13461
|
+
After ANY change: verified resets to unverified and the eval is re-run
|
|
13462
|
+
([[eval-verify]]) \u2014 the change is not done until the eval passes again.
|
|
13463
|
+
Deleting: warn if any step \`ref\`s it \u2192 confirm \u2192 \`delete_agent\`.
|
|
13233
13464
|
|
|
13234
|
-
|
|
13235
|
-
\`validate_workflow(id)\`.
|
|
13236
|
-
|
|
13237
|
-
## Phase 3: Test
|
|
13465
|
+
## Metadata
|
|
13238
13466
|
|
|
13239
|
-
|
|
13240
|
-
|
|
13467
|
+
Always set metadata on workflow creation. At minimum:
|
|
13468
|
+
- verified: "unverified" (upgraded after eval passes)
|
|
13469
|
+
- version: "1.0" (bump on each update)
|
|
13470
|
+
- source: the material name or "user-description"
|
|
13471
|
+
When trust upgrades, update BOTH the skill's verified frontmatter and
|
|
13472
|
+
the workflow's metadata.verified \u2014 they must stay in sync.
|
|
13241
13473
|
|
|
13242
13474
|
## No edges, state fields, or end step
|
|
13243
13475
|
The engine auto-generates them. Steps execute top-to-bottom in written
|
|
@@ -23572,10 +23804,36 @@ TASK MANAGEMENT IS A CORE DUTY, not a per-skill option. Whenever the
|
|
|
23572
23804
|
goal is clear and you know what to do, create a task FIRST (manage_task)
|
|
23573
23805
|
before executing \u2014 for any multi-step work: learning, building,
|
|
23574
23806
|
modifying, fixing, anything with an Objective and Acceptance Criteria.
|
|
23575
|
-
|
|
23807
|
+
- **Check for duplicates BEFORE creating** \u2014 always manage_task
|
|
23808
|
+
action: "list" first (filter ownerType: "agent"). If a task with the
|
|
23809
|
+
same objective already exists (e.g. from an interrupted session),
|
|
23810
|
+
RESUME it instead of creating a new one.
|
|
23811
|
+
- **Decompose into subtasks** \u2014 after the parent task, create a
|
|
23812
|
+
subtask per work item / phase (e.g. design, build, eval), each with
|
|
23813
|
+
its own Objective + Acceptance Criteria.
|
|
23814
|
+
- **Update on completion** \u2014 every finished subtask and the parent:
|
|
23815
|
+
manage_task update(status: "completed", result: "what was done").
|
|
23816
|
+
Use interrupted/failed with summary/failureReason when blocked or
|
|
23817
|
+
unable. Status must always reflect reality \u2014 never leave a finished
|
|
23818
|
+
task dangling in an in-progress state.
|
|
23819
|
+
See [[task-tracking]].
|
|
23576
23820
|
The sub-skills below only ADD their own task details on top of this
|
|
23577
23821
|
universal duty.
|
|
23578
23822
|
|
|
23823
|
+
BUILD GATES \u2014 hard behavioral requirements, no exceptions, no skipping:
|
|
23824
|
+
- Creating a WORKFLOW ([[design-workflow]]): \u2460 show the design as a
|
|
23825
|
+
Flowchart widget (every step, branch, ask point) \u2461 walk through it
|
|
23826
|
+
step-by-step with the user \u2462 ask inline-vs-ref per step \u2463 CONFIRM via
|
|
23827
|
+
ask_user_to_clarify \u2014 only then call create_workflow.
|
|
23828
|
+
- Creating an AGENT ([[agent-build]]): \u2460 present the design with
|
|
23829
|
+
show_widget \u2461 confirm via ask_user_to_clarify \u2014 only then call
|
|
23830
|
+
create_agent.
|
|
23831
|
+
- Both: if the goal model (real goal / consumer / usable state) is
|
|
23832
|
+
unclear, ask BEFORE designing \u2014 never guess.
|
|
23833
|
+
The skills document WHY and HOW; these gates are the unskippable
|
|
23834
|
+
minimum. If you cannot satisfy a gate (e.g. user says skip), record it
|
|
23835
|
+
and proceed only on the user's explicit instruction.
|
|
23836
|
+
|
|
23579
23837
|
Your sub-skills (accessible via the MOC or direct loading):
|
|
23580
23838
|
- [[learn-capability]] \u2014 Learn from any source material \u2192 skills + agents
|
|
23581
23839
|
- [[agent-build]] \u2014 Design and build single agents (REACT/DEEP_AGENT)
|