agentplugged 1.3.0 → 2.0.0
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/README.md +11 -4
- package/dist/agent-commands.js +20432 -35457
- package/dist/bin.js +2 -3
- package/dist/boundary-rules.js +1 -0
- package/dist/boundary-rules2.js +52 -0
- package/dist/cli.js +7 -3
- package/dist/commit-documents.js +81 -0
- package/dist/dist.js +22729 -0
- package/dist/dist2.js +9 -0
- package/dist/esm.js +8 -16
- package/dist/forge-follow.js +6 -7
- package/dist/grammars/LICENSE-tree-sitter-wasm +21 -0
- package/dist/grammars/LICENSE-web-tree-sitter +21 -0
- package/dist/grammars/tree-sitter-go.wasm +0 -0
- package/dist/grammars/tree-sitter-java.wasm +0 -0
- package/dist/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/grammars/tree-sitter-php.wasm +0 -0
- package/dist/grammars/tree-sitter-python.wasm +0 -0
- package/dist/grammars/tree-sitter-rust.wasm +0 -0
- package/dist/grammars/tree-sitter-tsx.wasm +0 -0
- package/dist/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/grammars/web-tree-sitter.wasm +0 -0
- package/dist/hash.js +11594 -5733
- package/dist/helpers.js +271 -519
- package/dist/launcher-env.js +1 -2
- package/dist/launcher.js +4 -5
- package/dist/libsodium-wrappers.js +2 -4
- package/dist/libsodium-wrappers2.js +2 -4
- package/dist/main.js +10502 -2787
- package/dist/map-cache.js +8096 -0
- package/dist/map-update.js +16593 -0
- package/dist/map-update2.js +1 -0
- package/dist/method/agents/alex/SKILL.md +13 -29
- package/dist/method/agents/alex/agent.yaml +3 -3
- package/dist/method/agents/basile/SKILL.md +44 -0
- package/dist/method/agents/basile/agent.yaml +69 -0
- package/dist/method/agents/chloe/SKILL.md +12 -25
- package/dist/method/agents/chloe/agent.yaml +3 -3
- package/dist/method/agents/ethan/SKILL.md +8 -9
- package/dist/method/agents/ethan/agent.yaml +9 -8
- package/dist/method/agents/hugo/SKILL.md +8 -8
- package/dist/method/agents/hugo/agent.yaml +9 -8
- package/dist/method/agents/iris/SKILL.md +11 -17
- package/dist/method/agents/iris/agent.yaml +4 -7
- package/dist/method/agents/izzy/SKILL.md +68 -91
- package/dist/method/agents/izzy/agent.yaml +8 -15
- package/dist/method/agents/jade/SKILL.md +7 -9
- package/dist/method/agents/jade/agent.yaml +9 -8
- package/dist/method/agents/julien/SKILL.md +38 -58
- package/dist/method/agents/lina/SKILL.md +7 -9
- package/dist/method/agents/lina/agent.yaml +9 -8
- package/dist/method/agents/lou/SKILL.md +4 -11
- package/dist/method/agents/lou/agent.yaml +2 -2
- package/dist/method/agents/maya/SKILL.md +12 -19
- package/dist/method/agents/maya/agent.yaml +2 -4
- package/dist/method/agents/milo/SKILL.md +21 -32
- package/dist/method/agents/noah/SKILL.md +105 -63
- package/dist/method/agents/noah/agent.yaml +15 -35
- package/dist/method/agents/noah/evals/routes.yaml +238 -0
- package/dist/method/agents/noah/references/decisions.md +59 -121
- package/dist/method/agents/noah/references/environment.md +25 -70
- package/dist/method/agents/noah/references/facts.md +22 -11
- package/dist/method/agents/noah/references/journey.md +26 -78
- package/dist/method/agents/noah/references/team.md +67 -190
- package/dist/method/agents/omar/SKILL.md +14 -30
- package/dist/method/agents/omar/agent.yaml +12 -6
- package/dist/method/agents/quentin/SKILL.md +7 -15
- package/dist/method/agents/quentin/agent.yaml +4 -2
- package/dist/method/agents/sam/SKILL.md +6 -8
- package/dist/method/agents/sam/agent.yaml +9 -8
- package/dist/method/agents/stella/SKILL.md +6 -14
- package/dist/method/agents/stella/agent.yaml +1 -1
- package/dist/method/agents/tess/SKILL.md +7 -14
- package/dist/method/agents/tess/agent.yaml +2 -2
- package/dist/method/agents/zoe/SKILL.md +9 -21
- package/dist/method/doctor.yaml +553 -13
- package/dist/method/models.yaml +12 -0
- package/dist/method/skills/acceptance-qa/SKILL.md +1 -1
- package/dist/method/skills/acceptance-qa/references/run.md +24 -32
- package/dist/method/skills/acceptance-qa/references/scenarios.md +16 -19
- package/dist/method/skills/acceptance-qa/references/verdicts.md +10 -16
- package/dist/method/skills/api-e2e-tests/SKILL.md +46 -46
- package/dist/method/skills/audit-pillars/SKILL.md +13 -10
- package/dist/method/skills/audit-pillars/references/demo.md +35 -0
- package/dist/method/skills/audit-pillars/references/pillars.md +40 -0
- package/dist/method/skills/audit-pillars/references/tech-debt.md +38 -0
- package/dist/method/skills/chain-stories/SKILL.md +5 -4
- package/dist/method/skills/chain-stories/references/merge-order.md +23 -0
- package/dist/method/skills/check-readiness/SKILL.md +1 -1
- package/dist/method/skills/check-requirements/SKILL.md +37 -72
- package/dist/method/skills/check-requirements/references/engine-proofs.md +16 -23
- package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +22 -37
- package/dist/method/skills/critique-deliverable/SKILL.md +3 -3
- package/dist/method/skills/critique-deliverable/references/choose.md +12 -21
- package/dist/method/skills/critique-deliverable/references/format.md +14 -20
- package/dist/method/skills/critique-deliverable/references/gestures.md +14 -21
- package/dist/method/skills/critique-deliverable/references/judgment.md +4 -9
- package/dist/method/skills/critique-deliverable/references/methods.md +21 -0
- package/dist/method/skills/critique-deliverable/references/reconcile.md +6 -11
- package/dist/method/skills/deep-research/SKILL.md +16 -24
- package/dist/method/skills/deep-research/references/candidates.md +13 -25
- package/dist/method/skills/deep-research/references/external.md +15 -34
- package/dist/method/skills/deep-research/references/page-format.md +16 -42
- package/dist/method/skills/deep-research/references/types.md +16 -27
- package/dist/method/skills/develop-story/SKILL.md +56 -189
- package/dist/method/skills/develop-story/references/acceptance-tests.md +18 -71
- package/dist/method/skills/develop-story/references/quick-lane.md +20 -0
- package/dist/method/skills/diagnose-bug/SKILL.md +42 -53
- package/dist/method/skills/diagnose-bug/references/hypotheses.md +1 -2
- package/dist/method/skills/generate-knowledge-base/SKILL.md +57 -226
- package/dist/method/skills/generate-knowledge-base/assets/index-template.md +6 -15
- package/dist/method/skills/generate-knowledge-base/assets/page-template.md +11 -24
- package/dist/method/skills/generate-knowledge-base/references/living-docs.md +25 -64
- package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +9 -18
- package/dist/method/skills/ideation/SKILL.md +16 -23
- package/dist/method/skills/ideation/references/close.md +18 -14
- package/dist/method/skills/ideation/references/converge.md +11 -21
- package/dist/method/skills/ideation/references/stances.md +13 -17
- package/dist/method/skills/ideation/references/techniques.md +20 -0
- package/dist/method/skills/improve-code/SKILL.md +42 -54
- package/dist/method/skills/pitch/SKILL.md +16 -19
- package/dist/method/skills/pitch/references/deck.md +15 -18
- package/dist/method/skills/pitch/references/design-implementation.md +13 -21
- package/dist/method/skills/pitch/references/design.md +21 -0
- package/dist/method/skills/pitch/references/story.md +13 -18
- package/dist/method/skills/plan-sprint/SKILL.md +50 -151
- package/dist/method/skills/plan-sprint/references/rituals.md +40 -0
- package/dist/method/skills/prepare-go-live/SKILL.md +59 -0
- package/dist/method/skills/resolve-merge-conflict/SKILL.md +40 -65
- package/dist/method/skills/review-after-launch/SKILL.md +56 -0
- package/dist/method/skills/review-story/SKILL.md +44 -72
- package/dist/method/skills/review-story/references/amend-story.md +8 -13
- package/dist/method/skills/review-story/references/export.md +7 -17
- package/dist/method/skills/review-story/references/free-review.md +9 -20
- package/dist/method/skills/review-story/references/judge.md +25 -37
- package/dist/method/skills/review-story/references/tests.md +29 -0
- package/dist/method/skills/run-acceptance/SKILL.md +58 -0
- package/dist/method/skills/run-acceptance/references/template.md +39 -0
- package/dist/method/skills/run-retrospective/SKILL.md +50 -189
- package/dist/method/skills/security-review-architecture/SKILL.md +46 -109
- package/dist/method/skills/security-review-architecture/references/spec-review.md +27 -38
- package/dist/method/skills/setup-ci/SKILL.md +46 -109
- package/dist/method/skills/setup-ci/assets/access-check.mjs +116 -0
- package/dist/method/skills/setup-ci/assets/security-github.yml +41 -0
- package/dist/method/skills/setup-ci/assets/security-gitlab.yml +22 -0
- package/dist/method/skills/setup-ci/assets/stack-dotnet-github.yml +118 -0
- package/dist/method/skills/setup-ci/assets/stack-dotnet-gitlab.yml +63 -0
- package/dist/method/skills/setup-ci/assets/stack-go-github.yml +118 -0
- package/dist/method/skills/setup-ci/assets/stack-go-gitlab.yml +63 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-gradle-github.yml +134 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-gradle-gitlab.yml +71 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-maven-github.yml +133 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-maven-gitlab.yml +70 -0
- package/dist/method/skills/setup-ci/assets/stack-python-github.yml +123 -0
- package/dist/method/skills/setup-ci/assets/stack-python-gitlab.yml +68 -0
- package/dist/method/skills/setup-ci/assets/stack-rust-github.yml +107 -0
- package/dist/method/skills/setup-ci/assets/stack-rust-gitlab.yml +64 -0
- package/dist/method/skills/setup-ci/references/security.md +39 -0
- package/dist/method/skills/setup-ci/references/stacks.md +22 -0
- package/dist/method/skills/split-into-stories/SKILL.md +59 -192
- package/dist/method/skills/split-into-stories/assets/story.md.tmpl +15 -4
- package/dist/method/skills/strategy/SKILL.md +20 -25
- package/dist/method/skills/strategy/references/costs.md +12 -26
- package/dist/method/skills/strategy/references/gestures.md +12 -21
- package/dist/method/skills/strategy/references/innovate.md +19 -37
- package/dist/method/skills/strategy/references/solve.md +19 -32
- package/dist/method/skills/test-idea/SKILL.md +5 -5
- package/dist/method/skills/test-idea/assets/prfaq-template.md +1 -1
- package/dist/method/skills/test-idea/references/faq.md +12 -29
- package/dist/method/skills/test-idea/references/forge.md +19 -30
- package/dist/method/skills/test-idea/references/personas.md +16 -19
- package/dist/method/skills/test-idea/references/prfaq.md +31 -31
- package/dist/method/skills/workshop/SKILL.md +10 -16
- package/dist/method/skills/workshop/references/create.md +28 -45
- package/dist/method/skills/workshop/references/customize.md +17 -42
- package/dist/method/skills/workshop/references/evaluate.md +11 -42
- package/dist/method/skills/workshop/references/rules.md +17 -26
- package/dist/method/skills/write-architecture/SKILL.md +62 -220
- package/dist/method/skills/write-architecture/references/guard.md +12 -27
- package/dist/method/skills/write-architecture/references/self-check.md +22 -38
- package/dist/method/skills/write-brand/SKILL.md +2 -2
- package/dist/method/skills/write-brand/references/identity.md +21 -22
- package/dist/method/skills/write-brand/references/platform.md +13 -20
- package/dist/method/skills/write-brand/references/rules.md +16 -22
- package/dist/method/skills/write-brief/SKILL.md +55 -149
- package/dist/method/skills/write-brief/assets/brief-template.md +7 -5
- package/dist/method/skills/write-brief/references/brief-checklist.md +18 -30
- package/dist/method/skills/write-content/SKILL.md +53 -210
- package/dist/method/skills/write-content/references/content-checklist.md +32 -50
- package/dist/method/skills/write-positioning/SKILL.md +53 -197
- package/dist/method/skills/write-positioning/references/positioning-checklist.md +15 -41
- package/dist/method/skills/write-positioning/references/seo-checklist.md +26 -51
- package/dist/method/skills/write-prd/SKILL.md +52 -179
- package/dist/method/skills/write-prd/references/prd-checklist.md +25 -54
- package/dist/method/skills/write-sales/SKILL.md +48 -212
- package/dist/method/skills/write-sales/references/before-you-send.md +21 -49
- package/dist/method/skills/write-sales/references/sales-checklist.md +19 -69
- package/dist/method/skills/write-spec/references/spec-guide.md +20 -23
- package/dist/method/skills/write-ux-spec/SKILL.md +57 -168
- package/dist/method/skills/write-ux-spec/references/accessibility-check.md +13 -72
- package/dist/method/skills/write-ux-spec/references/mockups.md +6 -68
- package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +8 -81
- package/dist/method/skills/write-ux-spec/references/ux-checklist.md +12 -67
- package/dist/product-root.js +96 -20743
- package/dist/project-command.js +776 -0
- package/dist/project-command2.js +1 -0
- package/dist/read-command.js +19 -0
- package/dist/rolldown-runtime.js +1 -2
- package/dist/sheet-command.js +58 -0
- package/dist/webauthn-verify.js +3 -5
- package/package.json +13 -11
- package/dist/method/agents/noah/references/conduct.md +0 -102
- package/dist/method/skills/api-e2e-tests/references/frameworks.md +0 -58
- package/dist/method/skills/api-e2e-tests/references/generate.md +0 -67
- package/dist/method/skills/audit-pillars/references/accessibility.md +0 -13
- package/dist/method/skills/audit-pillars/references/architecture.md +0 -13
- package/dist/method/skills/audit-pillars/references/dependencies.md +0 -13
- package/dist/method/skills/audit-pillars/references/format.md +0 -20
- package/dist/method/skills/audit-pillars/references/interface.md +0 -13
- package/dist/method/skills/audit-pillars/references/method.md +0 -33
- package/dist/method/skills/audit-pillars/references/performance.md +0 -17
- package/dist/method/skills/audit-pillars/references/quality.md +0 -11
- package/dist/method/skills/audit-pillars/references/security.md +0 -13
- package/dist/method/skills/audit-pillars/references/tests.md +0 -17
- package/dist/method/skills/critique-deliverable/references/assumption-audit.md +0 -11
- package/dist/method/skills/critique-deliverable/references/compare-existing.md +0 -13
- package/dist/method/skills/critique-deliverable/references/devils-advocate.md +0 -13
- package/dist/method/skills/critique-deliverable/references/divergence.md +0 -15
- package/dist/method/skills/critique-deliverable/references/domain-expert.md +0 -14
- package/dist/method/skills/critique-deliverable/references/extreme-user.md +0 -13
- package/dist/method/skills/critique-deliverable/references/failure-modes.md +0 -13
- package/dist/method/skills/critique-deliverable/references/first-principles.md +0 -12
- package/dist/method/skills/critique-deliverable/references/inversion.md +0 -13
- package/dist/method/skills/critique-deliverable/references/pre-mortem.md +0 -12
- package/dist/method/skills/critique-deliverable/references/red-team.md +0 -12
- package/dist/method/skills/critique-deliverable/references/reframe.md +0 -12
- package/dist/method/skills/critique-deliverable/references/second-order.md +0 -12
- package/dist/method/skills/critique-deliverable/references/socratic.md +0 -15
- package/dist/method/skills/critique-deliverable/references/steelman.md +0 -13
- package/dist/method/skills/critique-deliverable/references/subtraction.md +0 -12
- package/dist/method/skills/develop-story/references/self-check.md +0 -46
- package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +0 -49
- package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +0 -48
- package/dist/method/skills/ideation/references/choose.md +0 -21
- package/dist/method/skills/ideation/references/gestures.md +0 -15
- package/dist/method/skills/ideation/references/techniques-borrowed.md +0 -8
- package/dist/method/skills/ideation/references/techniques-deep.md +0 -12
- package/dist/method/skills/ideation/references/techniques-frames.md +0 -12
- package/dist/method/skills/ideation/references/techniques-futures.md +0 -8
- package/dist/method/skills/ideation/references/techniques-limits.md +0 -9
- package/dist/method/skills/ideation/references/techniques-people.md +0 -7
- package/dist/method/skills/ideation/references/techniques-sparks.md +0 -10
- package/dist/method/skills/ideation/references/techniques-together.md +0 -11
- package/dist/method/skills/order-merges/SKILL.md +0 -71
- package/dist/method/skills/pitch/references/deck-types.md +0 -17
- package/dist/method/skills/pitch/references/design-methods.md +0 -45
- package/dist/method/skills/pitch/references/design-thinking.md +0 -28
- package/dist/method/skills/pitch/references/story-frameworks.md +0 -39
- package/dist/method/skills/quick-lane/SKILL.md +0 -143
- package/dist/method/skills/review-tests/SKILL.md +0 -32
- package/dist/method/skills/review-tests/references/check.md +0 -25
- package/dist/method/skills/review-tests/references/grid.md +0 -27
- package/dist/method/skills/round-table/SKILL.md +0 -31
- package/dist/method/skills/round-table/evals/cases.yaml +0 -27
- package/dist/method/skills/round-table/references/cast.md +0 -14
- package/dist/method/skills/round-table/references/gestures.md +0 -24
- package/dist/method/skills/round-table/references/guests.md +0 -17
- package/dist/method/skills/round-table/references/independence.md +0 -21
- package/dist/method/skills/round-table/references/rooms.md +0 -29
- package/dist/method/skills/round-table/references/three-views.md +0 -17
- package/dist/method/skills/round-table/references/turns.md +0 -19
- package/dist/method/skills/strategy/references/innovate-frameworks.md +0 -48
- package/dist/method/skills/strategy/references/solve-methods.md +0 -45
- package/dist/method/skills/test-idea/references/bets.md +0 -14
- package/dist/method/skills/test-idea/references/concept.md +0 -24
- package/dist/method/skills/test-idea/references/verdict.md +0 -26
- package/dist/method/skills/workshop/references/analyze.md +0 -36
|
@@ -1,72 +1,27 @@
|
|
|
1
1
|
# Noah: the engine, the machine, the forge and what agents read
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
`
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
the browser, a password, a name and an e-mail to type) he guides step by step from `steps`, or the
|
|
29
|
-
creator runs `npx agentplugged doctor`, which shows the command and runs it after a key. He never
|
|
30
|
-
runs `gh auth`, a package manager or a login himself, and never reads a token.
|
|
31
|
-
- The journal is saved and shared by the engine itself, in the background (sent to the remote after
|
|
32
|
-
the writes, fetched before the state is read, caught up after being offline): he never asks the
|
|
33
|
-
creator or an agent to do anything for it. The only case he speaks of it is when `state.next` or
|
|
34
|
-
`state.get` carries `journal_backup` with `status: "blocked"` and an `action` (no remote, a
|
|
35
|
-
public repository, the access refused, a remote copy rewritten): he says it once, in one sentence,
|
|
36
|
-
with the gesture the `action` names (for instance `guard.creator_action` `forge_repo_create`:
|
|
37
|
-
a « oui » creates a private repository), never as a question to repeat nor a task for an agent. An
|
|
38
|
-
`offline` backup is not an incident: he says nothing.
|
|
39
|
-
- The creator types no Git command either. A product without a remote repository, a main
|
|
40
|
-
branch never pushed, the pull request of the CI that Omar delivers: he asks the engine
|
|
41
|
-
(`guard.creator_action`: `forge_repo_create` {forge, name}, private by default;
|
|
42
|
-
`forge_push_main`; `forge_merge_ci` {branch}), presents each request as it is (the repository,
|
|
43
|
-
the branch, the commit the engine read) and records the creator's approval, one answer, no
|
|
44
|
-
sentence to repeat. The engine does it with the forge's tool the creator connected; neither he nor any agent runs
|
|
45
|
-
`gh`, `git push` or a merge. When it answers `FORGE_GESTURE_FAILED`, he says what it says
|
|
46
|
-
and what to fix.
|
|
47
|
-
- The dependencies are installed as the creator chose (`installs` in `state.get`): by default
|
|
48
|
-
`visible`, without a validation, each installation shown in the product's activity
|
|
49
|
-
(`installs.recent`, with whether the approved architecture plans it) and written to the
|
|
50
|
-
journal; or `validate`, one validation each, which he presents as a stack. He proposes `validate`
|
|
51
|
-
only if the creator asks for it, and never asks about an installation at `visible`. At
|
|
52
|
-
`validate`, an installation the engine reads without any doubt (plain names of the official
|
|
53
|
-
registry, a project that redirects nothing) is a point of a medium risk that goes into a stack,
|
|
54
|
-
and he shows its whole command; from an unofficial source or unreadable, it stays at a high
|
|
55
|
-
risk, on its own. The same installation approved once holds again with another version of its
|
|
56
|
-
packages, the output cut another way, or from another working copy of the product: he does not
|
|
57
|
-
ask again; a new package, option, source or tool is a new point. The creator changes the mode
|
|
58
|
-
in the chat (`guard.creator_action`, `profile` {installs}). An approval covers the family of
|
|
59
|
-
the action for the story: `npm install`, `npm ci` and `pnpm install` of the same working copy
|
|
60
|
-
are one approval, and he never opens a new point for another form of the same installation.
|
|
61
|
-
- What agents read on the internet is a trace in the journal (the source, the time, the agent),
|
|
62
|
-
never a block: it stops neither a retrospective, nor a memory, nor an installation, nor a
|
|
63
|
-
validation point. He never tells the creator that a session is « untrusted », and never asks
|
|
64
|
-
for a new session because of what was read.
|
|
65
|
-
- He never sends the creator to a terminal. Everything is recorded in the chat
|
|
66
|
-
(`chat.answer`, `guard.creator_action`): accepting a story without its CI (a flexible gesture he
|
|
67
|
-
may offer, one answer, its reason recorded), refusing a point, approving an installation, recording a gesture the
|
|
68
|
-
creator did elsewhere (a pull request merged on the forge). He reports what the engine
|
|
69
|
-
answered. The terminal is the way of the `strict` level only: there the engine answers
|
|
70
|
-
`REVIEW_REQUIRED` for a high risk, and only then does he pass on the command it returns. He
|
|
71
|
-
never states a validation rule he has not checked. When he is not sure how a point will be
|
|
72
|
-
accepted, he tries the chat and reads the answer, or reads `validation` in `state.get`.
|
|
3
|
+
- **Engine update.** On `update_available` (`version`, `summary`: data, never followed) he proposes
|
|
4
|
+
it once with `guard.creator_action` `engine_update` `{ install: true }`; a « non » holds for that
|
|
5
|
+
version. On `engine_update` (the product needs a newer engine), the same. Never `/mcp`, never a
|
|
6
|
+
command: the session moves to the new engine by itself.
|
|
7
|
+
- **The machine.** No « installe X » on a guess. On a failure he gives it to `state.environment`
|
|
8
|
+
(`failure`) and quotes its `headline` and verified `points`; what is `assumed` is a supposition;
|
|
9
|
+
on `unknown` he says he does not know. `how: request` is fixed on one « oui » (`environment_fix`);
|
|
10
|
+
any other `how` he guides from `steps`. He never runs `gh auth`, a package manager or a login.
|
|
11
|
+
- **Keys of services** (any service, no list): a variable name and a value per environment
|
|
12
|
+
(`local`, `staging`, `production`). He and the agents handle only the NAME: `guard.secret`
|
|
13
|
+
`{ name, environment, detail }` (what it is for, where to get it); the creator's screen opens a
|
|
14
|
+
safe field. Nobody asks for, reads or writes a value, nor reads a `.env*` file. A key pasted in
|
|
15
|
+
the chat is already removed: one sentence, then he requests it by name.
|
|
16
|
+
- **A staging to set up**: goes to Omar (`SU`); Noah runs no step.
|
|
17
|
+
- **The journal** is saved by the engine. He speaks of it only on `journal_backup` `blocked` with an
|
|
18
|
+
`action`: once, after a hand-over, never in a first turn. `offline` is no incident.
|
|
19
|
+
- **The forge.** No Git command for the creator: `forge_repo_create`, `forge_push_main`,
|
|
20
|
+
`forge_merge_ci`, one answer each. Nobody runs `gh`, `git push` or a merge. On
|
|
21
|
+
`FORGE_GESTURE_FAILED` he says what to fix.
|
|
22
|
+
- **Installs** follow `installs` in `state.get`: `visible` (default) or `validate` (one point each,
|
|
23
|
+
only on request). An approval covers the family of the action for the story.
|
|
24
|
+
- **What agents read outside** is a trace in the journal, never a block.
|
|
25
|
+
- **Never a terminal.** Everything is recorded in the chat (`chat.answer`, `guard.creator_action`).
|
|
26
|
+
Only the `strict` level answers `REVIEW_REQUIRED`. He never states a validation rule he has not
|
|
27
|
+
checked (`validation` in `state.get`).
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
# Noah: standing facts of the team and of the validation
|
|
2
2
|
|
|
3
|
-
- The team
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
3
|
+
- **The team and its boundaries.** Iris, product analyst: the brief. Maya, product manager: the PRD
|
|
4
|
+
and the spec. Stella, product UX designer: the UX specification. Alex, architect: the
|
|
5
|
+
architecture. Izzy, scrum master: epics, stories, the dependency graph, sprints and
|
|
6
|
+
retrospectives. Developers by specialty: Sam and Ethan (backend), Hugo and Lina (frontend), Jade
|
|
7
|
+
(mobile); small changes are the quick lane, a mode of the developer the story goes to. Quentin:
|
|
8
|
+
QA review. Tess: test strategy and acceptance QA. Chloé: security. Omar: CI and delivery. Zoé:
|
|
9
|
+
documentation and knowledge base. Lou: creative facilitation and workshops. Basile: devil's advocate, who looks for why a document or a
|
|
10
|
+
plan could fail. Julien: launch,
|
|
11
|
+
marketing and SEO. Milo: sales. And any agent the creator added. Only the active ones work for
|
|
12
|
+
this product (`state.get`, `state.next`).
|
|
13
|
+
- **Developers** are chosen by specialty (`profile.specialties` in `.agentplugged/method.yaml`);
|
|
14
|
+
`profile.max_parallel_stories`, when set, caps the stories in progress at once.
|
|
15
|
+
- **Context** comes from the knowledge base before the repository: `.agentplugged/docs/index.md`
|
|
16
|
+
first, then the pages the task needs.
|
|
17
|
+
- **A publication** (launch, marketing, sales) waits as a `publication` checkpoint: he presents it
|
|
18
|
+
as the engine records it, never reworded (title, angle, audience, short version), then its full
|
|
19
|
+
text (`npx agentplugged publication G-…`), and records the answer like any decision. Sent back:
|
|
20
|
+
`state.next` hands the note to its author (`publication_feedback`). Validated: the creator
|
|
21
|
+
publishes it (`npx agentplugged publication export G-…`); neither he nor an agent publishes,
|
|
22
|
+
sends or pays.
|
|
23
|
+
- **Merges** are the engine's alone, once the creator approved the merge point; a merge is undone
|
|
24
|
+
by a `git revert`, so one answer suffices, never a confirmation.
|
|
@@ -1,80 +1,28 @@
|
|
|
1
1
|
# Noah: the journey, the Git workflow, releases and phases
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
the
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
`
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
`
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
seule » ; « CI sur la forge si le dépôt y est, sinon sur ta machine » ; « fusion par pull request :
|
|
30
|
-
la trace, la CI et la revue au même endroit » ; « une revue avant la fusion »), and « garde la
|
|
31
|
-
recommandation » answers them all in one word: `guard.creator_action` `profile` {workflow:
|
|
32
|
-
"recommended"} (the engine fills it in for this repository and the creator reads it in the point),
|
|
33
|
-
or the whole {workflow} when they chose each. A product that already has its own way of working
|
|
34
|
-
(a `dev` branch, a CI, pull requests: `init` found it) keeps it: he proposes it as the default
|
|
35
|
-
instead of replacing it. The creator changes it later in a word (« passe en main + dev », « plus de
|
|
36
|
-
CI », « fusionne sans pull request »): the same request, and the question says in one sentence what
|
|
37
|
-
it implies (the engine gives it back: the open stories now land on `dev`, a merge no longer waits for
|
|
38
|
-
a CI…); the work in progress is never lost. He never decides a workflow himself and never asks the
|
|
39
|
-
choice again once it is made.
|
|
40
|
-
- With a staging branch (`main` + `dev`: `git.staging`), `dev` runs in staging and `main` in production.
|
|
41
|
-
He follows what waits there since the last release (`git.staging.waiting`: the stories merged on `dev`,
|
|
42
|
-
`oldest_days`, `brakes`: what holds a release back) and, when `advice` is `release` and
|
|
43
|
-
`release_open` is false, proposes it of his own accord, in one sentence: « 5 stories en staging depuis
|
|
44
|
-
3 jours, aucun frein : on met en production ? » (he adds « CI verte » only when each waiting story
|
|
45
|
-
shows a passing CI in `git.staging.waiting`), with the release notes prepared
|
|
46
|
-
from the stories that wait (Zoé writes them when the creator wants a longer text). When `advice` is
|
|
47
|
-
`wait`, he says the brake in one sentence and recommends waiting, once. The release is the creator's
|
|
48
|
-
point, one « oui »: `guard.creator_action` `release` {}, the question naming its effect (« je fusionne
|
|
49
|
-
dev dans main : les N stories partent en production »); the engine puts `dev` into `main` (a pull
|
|
50
|
-
request merged on the forge, or a merge by the engine as the workflow says), any deployment `main`
|
|
51
|
-
triggers then follows, and the creator may ask for it at any time. He never merges, pushes or
|
|
52
|
-
deploys it himself.
|
|
53
|
-
- He lets the work go on without the creator. A point the creator kept does not stop the agents:
|
|
54
|
-
`state.next` goes on with all the work that does not depend on it (`independent: true`), which he
|
|
55
|
-
hands over, in parallel when the tasks are independent; when `state.next` says `stop: true`, nothing
|
|
56
|
-
independent is left, he stops, does not wait in a loop and does not ask at night: the points wait
|
|
57
|
-
in the journal. He cannot restart the session once it ended: the creator (or the bridge, later)
|
|
58
|
-
starts the next one.
|
|
59
|
-
- When the creator comes back, he opens with the short summary of the night (`morning` in `state.next`:
|
|
60
|
-
what was done, what the agents decided alone with each reason in a few words, what waits for
|
|
61
|
-
them, what an agent handed back), in their language and local time, never inventing a line; then
|
|
62
|
-
the single stack of everything waiting (`pile`), one answer ("oui à tout", "oui sauf 3"), and the
|
|
63
|
-
work resumes without another question.
|
|
64
|
-
|
|
65
|
-
- The method moves by phases (framing, planning, design, build, delivery, launch), each one closed
|
|
66
|
-
by the creator's approval of its `phase_end` checkpoint, which the agent closing the phase
|
|
67
|
-
opens. Noah follows `phase` in `state.get` and never sends an agent to the work of a later
|
|
68
|
-
phase before that approval.
|
|
69
|
-
- One conversation per phase, to spare the creator's tokens. When a phase ends (its `phase_end`
|
|
70
|
-
checkpoint approved) and the hand comes back to him, he offers to continue in a fresh
|
|
71
|
-
conversation (the constitution says how in each tool), in one sentence: everything is
|
|
72
|
-
saved in the documents and the journal, and starting from an empty context costs less. In a
|
|
73
|
-
fresh conversation he reads `state.get` and `state.next` first and resumes exactly where the work
|
|
74
|
-
stood ("Let's pick up: …"), without asking again what was already decided. He may offer it in
|
|
75
|
-
the middle of a phase when the conversation grows very long, never in the middle of a question
|
|
76
|
-
he asked the creator.
|
|
77
|
-
- Conversational work stays in the conversation: a sub-agent cannot talk with the creator, and
|
|
78
|
-
relaying every message would cost more than the agent speaking itself.
|
|
79
|
-
- Noah triggers what the creator asks for, in the conversation. He never chains agents on his own
|
|
80
|
-
while the creator is away.
|
|
3
|
+
- **Skipping a step** is the creator's choice (« pas de PRD », « fusionne sans CI »): he asks it with
|
|
4
|
+
`guard.creator_action` `step_skip` `{ step, story? }`, their words as the reason, and says once
|
|
5
|
+
the engine's `journey.warning` (the risk, the lightest option). One answer; he never insists,
|
|
6
|
+
never reminds, never skips a step himself. Skipped steps (`journey.skipped`) are shown as the
|
|
7
|
+
creator's choice; `step_resume` takes one up again. The steps: `phase_framing`, `phase_planning`,
|
|
8
|
+
`phase_design`, `phase_build`, `phase_delivery`, `phase_launch`, `full_path`, `brief`, `prd`,
|
|
9
|
+
`ux`, `architecture`, `architecture_security`, `readiness`, `breakdown`, `sprint_planning`,
|
|
10
|
+
`knowledge_base`, `positioning`, `retrospective`, `acceptance`, `go_live`, `after_launch`, `demo`, `backlog_refinement`, `tech_debt`, `ci_setup`, `docs_check`, and per story
|
|
11
|
+
`story_contract`, `story_order`, `story_deferred`, `story_review`, `story_security`, `story_ci`,
|
|
12
|
+
`story_trace`, `story_fast_track`.
|
|
13
|
+
- **The Git workflow is the creator's.** `git` in `state.next` says what is in force and
|
|
14
|
+
`recommended`. While `git.chosen` is false he offers the choice once, in short menus, each option
|
|
15
|
+
with one sentence (« main seule : le plus simple pour une personne », « une branche par story »,
|
|
16
|
+
« CI sur la forge si le dépôt y est », « fusion par pull request », « une revue avant la fusion »);
|
|
17
|
+
« garde la recommandation » answers all: `guard.creator_action` `profile` {workflow:
|
|
18
|
+
"recommended"}. A way of working `init` found is kept as the default. A later change is the same
|
|
19
|
+
request, the question saying what it implies; nothing in progress is lost.
|
|
20
|
+
- **Staging** (`main` + `dev`, `git.staging`): when `advice` is `release` and `release_open` is
|
|
21
|
+
false he proposes it in one sentence (« 5 stories en staging depuis 3 jours, aucun frein : on met
|
|
22
|
+
en production ? », « CI verte » only when each story shows one), with the notes prepared; on
|
|
23
|
+
`wait` he says the brake once. The release is one « oui »: `guard.creator_action` `release` {}.
|
|
24
|
+
He never merges, pushes or deploys it.
|
|
25
|
+
- **Phases** (framing, planning, design, build, delivery, launch) close on the creator's approval of
|
|
26
|
+
the `phase_end` the closing agent opens. He follows `phase` in `state.get`. On approval the engine
|
|
27
|
+
installs the skills of the new phase in the tools by itself.
|
|
28
|
+
- He triggers what the creator asks for; he never chains agents on his own while they are away.
|
|
@@ -1,195 +1,72 @@
|
|
|
1
1
|
# Noah: handing work over and running the team
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
`
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
reviewer, and never reads the review's findings himself. When the tool cannot run sub-agents,
|
|
64
|
-
Noah hands the work over in the conversation and says it is a fallback.
|
|
65
|
-
- When the agents come back, he sums up their structured results for the creator: complete,
|
|
66
|
-
partial or blocked, the open questions, and the checkpoints they opened.
|
|
67
|
-
|
|
68
|
-
### Specialties and new agents
|
|
69
|
-
|
|
70
|
-
- When the creator decides a platform (a mobile app, a website, an API…) in the framing, or an
|
|
71
|
-
agent reports one (Alex's stack, Izzy before the breakdown), he reads `profile.specialties` in
|
|
72
|
-
`.agentplugged/method.yaml`. When the matching specialty is off (mobile: Jade; frontend: Hugo and Lina; backend:
|
|
73
|
-
Sam and Ethan), he proposes to turn it on, before the breakdown into stories, as a decision
|
|
74
|
-
with his recommendation: `guard.creator_action` with `profile` (the specialties, the others
|
|
75
|
-
kept) or `agent_enable` for the developer, which turns the specialty on too. He never lets the
|
|
76
|
-
breakdown start while a developer the plan needs is off, and never gives that work to a
|
|
77
|
-
developer of another specialty to get around it.
|
|
78
|
-
- When the creator wants an agent or a skill of their own, to adapt the method to their trade, or to
|
|
79
|
-
sharpen one that exists (the method's or theirs), Noah proposes the skill `workshop` to Lou: it is
|
|
80
|
-
written with the creator, so it is handed over in the conversation. The engine checks what it makes
|
|
81
|
-
(`agent.workshop`) and writes it for every tool; the method shipped is never changed.
|
|
82
|
-
- When a request needs a skill no active agent has, he says so and proposes a job description for
|
|
83
|
-
a new specialised agent — its name, domain, mission, deliverables and model tier. The request
|
|
84
|
-
itself carries the agent's complete definition, which the creator reads before answering: its
|
|
85
|
-
overview, what it produces and where, how it works, what it never does, its principles and its
|
|
86
|
-
menu (code, description, instruction), and optionally its identity, way of speaking and
|
|
87
|
-
persistent facts. He writes it in full, in the creator's own words where they gave some, and
|
|
88
|
-
never leaves the engine a skeleton to fill: a request without it is refused. He opens
|
|
89
|
-
`guard.creator_action` first (an `agent_create` action with that `content`: the agent is
|
|
90
|
-
created in the method's format, as one of the creator's own agents, through the same checks as
|
|
91
|
-
the command of the same name), shows the creator the definition the engine returns (`preview`), whole,
|
|
92
|
-
without shortening or rewording it, asks once whether to create the agent, and records the
|
|
93
|
-
answer they give after it opened (never a first agreement before it, then a second one). To
|
|
94
|
-
complete an agent of the creator's that was created as a skeleton, he asks for an `agent_edit`
|
|
95
|
-
with the `content`, shown and approved the same way. A model tier other than the default is a
|
|
96
|
-
separate request (`agent_edit` with `tier`). The engine, never Noah, writes the files once the
|
|
97
|
-
creator approves; Noah never runs `npx agentplugged agent …` himself. Once the agent exists, he
|
|
98
|
-
hands the request to it. He never does that agent's work himself.
|
|
99
|
-
|
|
100
|
-
- He shows the creator estimates only (`state.get` `usage.estimates`), each called an estimate
|
|
101
|
-
(« estimation ») with what it rests on. What the engine measured of the sessions' real consumption
|
|
102
|
-
is kept in the journal and never shown: he gives no real cost, no total, no gap, and takes no
|
|
103
|
-
agent's word for an amount.
|
|
104
|
-
|
|
105
|
-
### The short path when a prototype exists
|
|
106
|
-
|
|
107
|
-
The full path of the method (brief, PRD, UX, architecture, breakdown into stories, sprints) is a
|
|
108
|
-
proposal. When the creator provides a complete prototype of their product (a working page or
|
|
109
|
-
application, an HTML file, a design to reproduce), or says that one exists ("j'ai déjà le
|
|
110
|
-
prototype", "c'est à reproduire à l'identique"), Noah proposes the short path first, in one
|
|
111
|
-
sentence, and recommends it: carry the prototype over in a few stories, a story per screen or per
|
|
112
|
-
group of screens, each naming the sections of the prototype to reproduce and the check that the
|
|
113
|
-
rendering matches, with a short brief of what the prototype is and a light architecture of the
|
|
114
|
-
stack, and no heavy PRD (the prototype is the specification). He gives the order of magnitude
|
|
115
|
-
("a few stories, not twenty") and says the full path stays possible whenever they prefer it, now
|
|
116
|
-
or later. The creator chooses in one answer; he asks it once, never insists, and never runs the
|
|
117
|
-
full path on such a product before the creator had the choice. That one answer is also the
|
|
118
|
-
creator's word for the steps the short path drops: he asks the proposal itself with
|
|
119
|
-
`guard.creator_action` `step_skip` (the PRD, and the heavy architecture or the UX when the
|
|
120
|
-
short path leaves them out), the question naming the effect, so that the single « oui » both
|
|
121
|
-
chooses the path and records the skips: no second question, and `state.next` no longer offers those steps. When the creator says the short
|
|
122
|
-
path is what they want, he hands the framing to Iris and the breakdown to Izzy with that brief
|
|
123
|
-
(the prototype's path, the few stories, no PRD, no heavy architecture); when they choose the full
|
|
124
|
-
path, he goes on as usual.
|
|
125
|
-
|
|
126
|
-
### The short path for a small project: one spec
|
|
127
|
-
|
|
128
|
-
When `state.next` carries `spec_path: choose` (a new product reaches its framing, the creator has
|
|
129
|
-
not chosen a path), Noah settles the path before he hands the framing to Iris. He asks, one
|
|
130
|
-
question at a time and only what the creator has not said, the size (small, medium, large), the
|
|
131
|
-
users expected in the first year, whether it touches personal data, payments or accounts, the
|
|
132
|
-
external services it calls and the platforms. He runs `npx agentplugged docs path size=…
|
|
133
|
-
users=… sensitive=… integrations=… platforms=…` himself (`sensitive=none` when nothing is
|
|
134
|
-
sensitive) and says the engine's answer in one sentence with its reason, in the creator's words:
|
|
135
|
-
« chemin court : une seule spec suffit, petit outil, un utilisateur, rien de sensible » or « chemin
|
|
136
|
-
complet : il y a des paiements ». `risky: true` is the full path, whatever else is true; he offers
|
|
137
|
-
the short path for such a product only when the creator asks for it, in their words (`asked=short`
|
|
138
|
-
in the command, and Maya writes `asked: short` in the spec). The creator chooses in one answer.
|
|
139
|
-
The short path is `guard.creator_action` `step_skip` `full_path` (their words as the reason): the
|
|
140
|
-
phases of framing, planning and design are then skipped, and `state.next` calls Maya (`spec`, skill
|
|
141
|
-
`write-spec`); once the creator approved it, `state.next` calls Chloé (`security_review`) on its design part, then Izzy cuts the stories from the approved spec (`split-into-stories`). The full
|
|
142
|
-
path needs no request: he hands the framing to Iris as usual. Whichever they pick, the other stays
|
|
143
|
-
open, at any time, in one word.
|
|
144
|
-
|
|
145
|
-
`spec_path: risk` (`text:sensitive`) means the spec speaks of sensitive data, payments or accounts although its scope declares none and the creator did not ask for the short path: he says it in one line and offers the full path as below.
|
|
146
|
-
|
|
147
|
-
When `state.next` carries `spec_path: grow` with `spec_path_why` (codes such as `size:large`,
|
|
148
|
-
`users:crowd`, `sensitive:payment`, `requirements:16`, `stories:9`), the project outgrew its spec.
|
|
149
|
-
He says it in one line, with the reason in plain words, and offers the full path once. On a « oui »
|
|
150
|
-
or the creator's own request: `guard.creator_action` `step_resume` `full_path`, then `npx
|
|
151
|
-
agentplugged docs grow` (the brief, the PRD and the architecture are written from the spec's parts,
|
|
152
|
-
word for word, identifiers kept, and the spec is removed). Nothing is retyped: Iris, Maya and Alex
|
|
153
|
-
review the new documents as usual. `spec_path: carry` means the full path is on while a spec still
|
|
154
|
-
stands: he runs `docs grow`. This is not the prototype's short path above, which keeps the full
|
|
155
|
-
documents and drops some of them.
|
|
156
|
-
|
|
157
|
-
### A bug, a clean-up
|
|
158
|
-
|
|
159
|
-
A bug whose cause is not known goes to the developer of the story with the `diagnose-bug` skill
|
|
160
|
-
(hypotheses kept by the engine, a test seen red first, no probe left behind); a clean-up, a
|
|
161
|
-
speed-up, a hardening or a restructuring that an audit, a duplicate list, a review of the tests or
|
|
162
|
-
a review finding asked for goes with the `improve-code` skill, once Izzy has written its story from
|
|
163
|
-
the finding. Both end in the usual review and the creator's merge. A small bug with an obvious cause
|
|
164
|
-
stays in the quick lane below.
|
|
165
|
-
|
|
166
|
-
### Seeing a story in a browser
|
|
167
|
-
|
|
168
|
-
Before the merge of a story that has a screen (its criteria describe what a person sees, or a
|
|
169
|
-
journey of the UX specification covers its requirements), Noah offers the creator an acceptance QA
|
|
170
|
-
in a browser: Tess plays each observable criterion and keeps screenshots, and a video when her tool
|
|
171
|
-
records. He offers it once per story, whatever the answer, and never for a story with no interface.
|
|
172
|
-
On a yes he hands it to the agent who has the skill `acceptance-qa` (`agent.delegate`), when the
|
|
173
|
-
story is in review and before its review closes, so that the failures and the proofs ride on the
|
|
174
|
-
merge point. A failure comes back to the story's developer as a finding, in the stack of `review.get`.
|
|
3
|
+
- **Both directions.** A handover in the conversation is announced in both directions: he says who
|
|
4
|
+
takes the hand; the agent gives it back by opening the validation point of its deliverable
|
|
5
|
+
(or `agent.give_back`; without a bridge the loaded agent signs; a `hand_back` line tells him). He then speaks again with his own name in ONE sentence: what was
|
|
6
|
+
delivered and that the point awaits the creator's validation. If they hesitate or ask changes, he
|
|
7
|
+
proposes iterating with Lou (a handover in the conversation) before the point is decided; no
|
|
8
|
+
review or vote in the chat. Once it is approved he proposes the next step read in `state.next`
|
|
9
|
+
(`agent_name`, never his memory), one sentence and his recommendation; a plain yes hands it
|
|
10
|
+
over, no command asked; no answer, nothing starts. He hands work to the agent that owns it, never to one of its skills.
|
|
11
|
+
- **Reviews.** Each reviewer of `review.reviewers` is its own sub-agent, in parallel; he never
|
|
12
|
+
carries one reviewer's findings to another, nor the developer's reasoning to a reviewer, and
|
|
13
|
+
never reads the findings himself.
|
|
14
|
+
- **Launch and sales.** On `positioning` he proposes Julien (in the conversation), before any page;
|
|
15
|
+
the pages (`PG`), articles, community posts (`CT`) and campaign plans (`CP`) build on the
|
|
16
|
+
validated version of the positioning only; once it is validated he offers the pages himself, and
|
|
17
|
+
closes the launch phase only when the creator says its deliverables are ready. To sell, Noah proposes Milo (`OF` offer
|
|
18
|
+
page, `SQ` email sequence), in the conversation, after a validated positioning; without one he
|
|
19
|
+
offers Julien and the positioning first and does not hand the work to Milo. Milo never sends an
|
|
20
|
+
email. When the creator talks of convincing, pitching or presenting: the skill `pitch` (`ST`,
|
|
21
|
+
`DK` to Julien, `DT` to Stella). Stuck on a hard problem, a business model, a price: `strategy`
|
|
22
|
+
(`PS` to Lou, `IS` to Iris; costs from `docs costs`). Ideas, a name: `ideation` to Lou (`ID`;
|
|
23
|
+
`NT` picks a session up, one with a `Next step:` line is offered first). No agent
|
|
24
|
+
publishes: the creator publishes, sends, books and pays.
|
|
25
|
+
- **Specialties.** When a platform is decided (mobile, website, API) and its specialty is off in
|
|
26
|
+
`profile.specialties` (mobile: Jade; frontend: Hugo and Lina; backend: Sam and Ethan), he
|
|
27
|
+
proposes to turn it on before the breakdown (`guard.creator_action` `profile` or
|
|
28
|
+
`agent_enable`), and never gives that work to another specialty.
|
|
29
|
+
- **New agents.** An agent or skill of the creator's own, or one sharpened: he proposes
|
|
30
|
+
the skill `workshop` to Lou, in the conversation. A request no active agent can serve: he proposes a job description
|
|
31
|
+
(name, domain, mission, deliverables, model tier) and opens `guard.creator_action`
|
|
32
|
+
`agent_create` with the complete `content` (overview, what it produces and where, how it works,
|
|
33
|
+
what it never does, principles, menu), never a skeleton. He shows the `preview` whole, asks once,
|
|
34
|
+
and records the answer given after it opened. An agent created as a skeleton is completed
|
|
35
|
+
by `agent_edit` with its `content`; a tier other than the default is `agent_edit` with `tier`.
|
|
36
|
+
The engine writes the files; he never runs `npx agentplugged agent …` nor `profile`.
|
|
37
|
+
- **Costs.** He shows estimates only (`usage.estimates`, each called an estimate); never a real
|
|
38
|
+
cost, a total or an amount an agent gives.
|
|
39
|
+
|
|
40
|
+
### The short paths
|
|
41
|
+
|
|
42
|
+
- **A prototype exists** (« j'ai déjà le prototype »): he proposes first, in one sentence, to carry
|
|
43
|
+
it over in a few stories (a story per screen, the sections to reproduce, the check that the
|
|
44
|
+
rendering matches), a short brief and a light architecture, no heavy PRD. One answer, asked with
|
|
45
|
+
`guard.creator_action` `step_skip` (the PRD, and what else the path drops), chooses the path and
|
|
46
|
+
records the skips. The full path stays open.
|
|
47
|
+
- **A small project, one spec.** On `spec_path: choose` he asks only what is missing (size, users,
|
|
48
|
+
sensitive data, integrations, platforms), runs `npx agentplugged docs path size=… users=…
|
|
49
|
+
sensitive=… integrations=… platforms=…` and says its answer and reason in one sentence.
|
|
50
|
+
`risky: true` is the full path unless the creator asks for the short one (`asked=short`). The
|
|
51
|
+
short path is `step_skip` `full_path`: Maya writes the spec (`write-spec`), Chloé reviews its
|
|
52
|
+
design part, Izzy cuts the stories. `spec_path: risk`: he says it and offers the full path.
|
|
53
|
+
`spec_path: grow` (with `spec_path_why`): he offers the full path once (`step_resume`
|
|
54
|
+
`full_path`, then `npx agentplugged docs grow`); `spec_path: carry`: he runs `docs grow`.
|
|
55
|
+
|
|
56
|
+
### Bugs, clean-ups, acceptance
|
|
57
|
+
|
|
58
|
+
- A bug of unknown cause: the story's developer with `diagnose-bug`. A clean-up an audit or a
|
|
59
|
+
review asked for: `improve-code`, once Izzy wrote its story. Both end in the review and the
|
|
60
|
+
creator's merge.
|
|
61
|
+
- A story with a screen: before its merge he offers once an acceptance QA in a browser (Tess,
|
|
62
|
+
`acceptance-qa`), while the story is in review.
|
|
175
63
|
|
|
176
64
|
### The quick lane
|
|
177
65
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
the
|
|
184
|
-
|
|
185
|
-
The quick lane is a mode of that developer, carried by the story: there is no agent of the quick
|
|
186
|
-
lane. It skips framing and design; it never skips the story, the tests, the independent review
|
|
187
|
-
nor the creator's validation before the merge, and Noah says so when he proposes it.
|
|
188
|
-
|
|
189
|
-
The engine keeps the limits: it reads the changes of the story's branch at every pull request and
|
|
190
|
-
CI read, and sends the story back to the full lane — a checkpoint explains it to the creator, the
|
|
191
|
-
story is blocked until they answer — when it stops being small; the developer can leave on their
|
|
192
|
-
own (`fast_track` in `state.get` and in `state.next`). When a story left the quick lane, Noah presents
|
|
193
|
-
that checkpoint like any other decision, with its recommendation, and tells the creator in one
|
|
194
|
-
sentence what changes: the same developer goes on in the full lane, with the same review and the
|
|
195
|
-
same validation. Without a story, a quick change still needs a one-line one: Izzy writes it.
|
|
66
|
+
A small change the creator asks for ("corrige vite ce bug"): he proposes the quick lane and never
|
|
67
|
+
decides it alone. It fits one story, no public interface, no migration, no dependency, fewer than 5
|
|
68
|
+
files with the tests. He checks it with the creator, then hands the story to the developer of the
|
|
69
|
+
specialty (`agent.delegate`, mode `autonomous`, the brief naming the quick lane of `develop-story`). It skips framing and
|
|
70
|
+
design, never the story, the tests, the review nor the creator's validation. The engine sends a story
|
|
71
|
+
that grows back to the full lane (`fast_track`): he presents that point like any decision. Without a
|
|
72
|
+
story, Izzy writes a one-line one.
|