genesis-compiler 1.10.20 → 1.10.22
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 +74 -16
- package/docs/prompt-integration.md +19 -5
- package/docs/stack-components.md +22 -5
- package/package.json +11 -1
- package/plugins/genesis/.codex-plugin/plugin.json +1 -1
- package/prompts/deslop.txt +3 -0
- package/prompts/master-pass.txt +17 -0
- package/prompts/pass-deep.txt +77 -0
- package/prompts/pass-report.txt +15 -0
- package/prompts/review.txt +2 -1
- package/prompts/security-pass.txt +26 -0
- package/prompts/speed-pass.txt +28 -0
- package/prompts/ui-pass.txt +3 -1
- package/prompts/ux-pass.txt +25 -0
- package/skills/genesis-data-pass/SKILL.md +29 -4
- package/skills/genesis-deslop/SKILL.md +47 -6
- package/skills/genesis-identity-pass/SKILL.md +29 -4
- package/skills/genesis-master-pass/SKILL.md +132 -0
- package/skills/genesis-master-pass/agents/openai.yaml +4 -0
- package/skills/genesis-quality-pass/SKILL.md +30 -4
- package/skills/genesis-review/SKILL.md +120 -0
- package/skills/genesis-review/agents/openai.yaml +4 -0
- package/skills/genesis-security-pass/SKILL.md +297 -0
- package/skills/genesis-security-pass/agents/openai.yaml +4 -0
- package/skills/genesis-speed-pass/SKILL.md +351 -0
- package/skills/genesis-speed-pass/agents/openai.yaml +4 -0
- package/skills/genesis-ui-pass/SKILL.md +38 -7
- package/skills/genesis-ux-pass/SKILL.md +276 -0
- package/skills/genesis-ux-pass/agents/openai.yaml +4 -0
- package/src/cli-commands.js +3 -1
- package/src/cli.js +14 -4
- package/src/index/agent-skills.js +53 -29
- package/src/index/assets.js +4 -1
- package/src/index/code-index.js +2 -1
- package/src/index/contracts.js +2 -0
- package/src/index/master-pass.js +76 -0
- package/src/index/pass-record.js +124 -22
- package/src/index/pass-support.js +71 -0
- package/src/index/passes.js +92 -5
- package/src/index/project-files.js +2 -1
- package/src/index/prompt.js +306 -28
- package/src/index/source-size.js +62 -0
- package/src/index.js +6 -1
package/README.md
CHANGED
|
@@ -29,7 +29,8 @@ genesis/
|
|
|
29
29
|
stack.md selected components, resources, verification, and project-owned operation contracts
|
|
30
30
|
stack/ optional per-component Description, Guidance, Adoption, Post-change, and pass customization
|
|
31
31
|
subsystems.md authored responsibilities, Program membership, and data ownership/use
|
|
32
|
-
passes.json when each pass last finished, written by its last step (absent until one does)
|
|
32
|
+
passes.json when each pass Genesis 1.10.21 knew last finished, written by its last step (absent until one does)
|
|
33
|
+
passes-added.json the same for every pass added since, such as the review and the Master pass
|
|
33
34
|
program/ concise public-operation explanations
|
|
34
35
|
.agents/skills/
|
|
35
36
|
genesis-* Genesis workflow skills
|
|
@@ -188,11 +189,11 @@ type a command. It never runs adoption without approval and does nothing in an
|
|
|
188
189
|
empty or already-adopted project.
|
|
189
190
|
|
|
190
191
|
`genesis init` creates an empty Blueprint, a focused engineering approach, an
|
|
191
|
-
empty optional Stack, the current `genesis/version`,
|
|
192
|
+
empty optional Stack, the current `genesis/version`, twelve project Agent Skills,
|
|
192
193
|
and project-local guidance adapters for Codex, Claude Code and OpenCode. The skills are ordinary
|
|
193
194
|
[Agent Skills](https://agentskills.io): `genesis-project`, `genesis-program`,
|
|
194
195
|
and one for each pass (`genesis-deslop`, `genesis-ui-pass`, `genesis-identity-pass`,
|
|
195
|
-
`genesis-quality-pass`
|
|
196
|
+
`genesis-quality-pass`, `genesis-data-pass`, `genesis-security-pass`, `genesis-ux-pass`, `genesis-speed-pass` and `genesis-review`), and `genesis-master-pass`, which runs them deeply in turn, each with standard `SKILL.md` and
|
|
196
197
|
`agents/openai.yaml` metadata. Open `/hooks` once in Codex to review and trust the guidance hook;
|
|
197
198
|
Claude Code loads its project hooks and OpenCode discovers its local project plugin automatically. All three use the same
|
|
198
199
|
Genesis-owned operating guide for new sessions and after compaction. When the
|
|
@@ -232,10 +233,11 @@ packages, initialize project files, migrate contracts, rebuild indexes, or run
|
|
|
232
233
|
verification.
|
|
233
234
|
|
|
234
235
|
Projects that declare `genesis-compiler` use the skills from that installed
|
|
235
|
-
project dependency, including when a host embeds a different compiler
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
project dependency, including when a host embeds a different compiler: the
|
|
237
|
+
skills that release has, so a project pinned to an older release simply does
|
|
238
|
+
not get a skill added since. An unprepared declared dependency is reported
|
|
239
|
+
instead of substituting the host's version. Other projects use the running
|
|
240
|
+
compiler's packaged skills. Package upgrades remain explicit dependency changes.
|
|
239
241
|
|
|
240
242
|
Inspection, context generation, and session hooks remain read-only and report
|
|
241
243
|
skill maintenance diagnostics. An assistant that already loaded old skills
|
|
@@ -255,12 +257,13 @@ files alone does not refresh its existing context.
|
|
|
255
257
|
| `genesis stack list` | Lists technology components from the installed Stack catalog. |
|
|
256
258
|
| `genesis stack add <piece...>` | Resolves component dependencies/conflicts, records the selection, materializes missing project contracts, synchronizes declared skills, and prints the one-time preparation prompt. It does not install application packages or run an agent. |
|
|
257
259
|
| `genesis skills sync` | Refreshes selected, unmodified managed skills while preserving customized and unmanaged copies. |
|
|
258
|
-
| `genesis passes done <pass>` | Records in `genesis/passes.json`
|
|
260
|
+
| `genesis passes done <pass>` | Records that a pass finished now, in `genesis/passes.json` or, for a pass added since Genesis 1.10.21, `genesis/passes-added.json`; every pass run's prompt ends with it. |
|
|
261
|
+
| `genesis passes done master-pass <pass...>` | Records that a Master pass finished now, with the passes it ran; its prompt ends with it. |
|
|
259
262
|
| `genesis context <path...>` | Returns path-focused Program explanations, indexed functions, selected technology guidance, exact project contracts, and relevant skills. |
|
|
260
263
|
| `genesis index [--call-web] [function-or-path...]` | Regenerates the derived code indexes and optionally searches the existing function/method inventory. `--call-web` also writes the derived function call web. |
|
|
261
264
|
| `genesis inspect environment` | Reports declared resources, public defaults, missing input names, and environment-file paths without returning secret values. |
|
|
262
265
|
| `genesis inspect skills` | Reports selected skill freshness and ownership without changing files. |
|
|
263
|
-
| `genesis inspect passes` | Lists every pass with its title, description, recommendation hint, Stack guidance and
|
|
266
|
+
| `genesis inspect passes` | Lists every pass with its title, description, recommendation hint, Stack guidance, last run, the runs it offers, and why the project's own Genesis cannot run it, if it cannot. |
|
|
264
267
|
| `genesis inspect section <name>` | Returns one exact consumer-owned Stack section without interpreting or executing it. |
|
|
265
268
|
| `genesis prompt [request...]` | Generates the ordinary implementation prompt. Use `--task` for opening, adoption, Deslop, explanation, review, and other explicit prompt tasks. |
|
|
266
269
|
| `genesis verify` | Executes only the ordered finite commands in `## Verification` and records exact evidence. |
|
|
@@ -603,6 +606,10 @@ Stack component. Project additions or overrides from
|
|
|
603
606
|
The main `genesis/stack.md` records component selection and durable project
|
|
604
607
|
operations; it intentionally does not duplicate installed guidance bodies.
|
|
605
608
|
|
|
609
|
+
`Deslop the whole app.` is the Deslop pass itself: the project's own source in
|
|
610
|
+
every subsystem, recorded when it finishes (see [Passes](docs/passes.md)). A
|
|
611
|
+
bare `Deslop` keeps to the agent's own changes and is never recorded.
|
|
612
|
+
|
|
606
613
|
The whole dirty diff is not automatically the agent's work. Deslop preserves
|
|
607
614
|
the user's and other agents' changes, including edits in the same files. With
|
|
608
615
|
no changes of its own for the task, it reports that there is nothing to clean
|
|
@@ -632,21 +639,30 @@ prose of the selected Stack components, which names the technology's design
|
|
|
632
639
|
rules and method. Defects become findings; screenshots at 390, 768 and 1280
|
|
633
640
|
pixels in light and dark are the evidence. See [docs/ui-pass.md](docs/ui-pass.md).
|
|
634
641
|
|
|
635
|
-
### Identity, quality and
|
|
642
|
+
### Identity, quality, data, security, user experience and speed passes
|
|
636
643
|
|
|
637
|
-
|
|
638
|
-
names a section or your changes
|
|
644
|
+
Six more passes run only when asked, over the whole app unless the request
|
|
645
|
+
names a section or your changes. Every pass, Deslop and the UI pass included,
|
|
646
|
+
runs as a pass over the whole app, over the changes since its last completed
|
|
647
|
+
run judged against the whole app, or deeply over the whole app, item by item,
|
|
648
|
+
and only those runs are recorded:
|
|
639
649
|
|
|
640
650
|
```text
|
|
641
651
|
Give the app its visual identity
|
|
642
652
|
Quality pass
|
|
643
653
|
Data pass the Orders section
|
|
654
|
+
Security pass
|
|
655
|
+
User experience pass the checkout
|
|
656
|
+
Speed pass
|
|
644
657
|
```
|
|
645
658
|
|
|
646
659
|
```bash
|
|
647
660
|
genesis prompt --task identity-pass
|
|
648
661
|
genesis prompt --task quality-pass
|
|
649
662
|
genesis prompt --task data-pass "Data pass the Orders section"
|
|
663
|
+
genesis prompt --task security-pass
|
|
664
|
+
genesis prompt --task ux-pass "User experience pass the checkout"
|
|
665
|
+
genesis prompt --task speed-pass
|
|
650
666
|
genesis inspect passes --json
|
|
651
667
|
```
|
|
652
668
|
|
|
@@ -655,12 +671,54 @@ drawn in code for each kind of content, a logo, empty states, a loading screen
|
|
|
655
671
|
and sign-in. The quality pass makes loading, empty, error and refused states,
|
|
656
672
|
edge cases and accessibility hold up, proved by using the software. The data
|
|
657
673
|
pass makes queries, constraints, migrations and indexes hold up at real sizes,
|
|
658
|
-
proved by counts.
|
|
674
|
+
proved by counts. The security pass makes every way in refuse what it should
|
|
675
|
+
(access decided from the trusted context, guarded sign-in and sessions, inputs
|
|
676
|
+
checked at the boundary, secrets kept out of code and logs, production
|
|
677
|
+
settings, dependencies and outbound requests), proving each finding by sending
|
|
678
|
+
the input that breaks it and keeping a test that fails without the fix. The
|
|
679
|
+
user experience pass makes the main things people do short and clear (fewer
|
|
680
|
+
steps and decisions, easy to find, plain words, a quick first use, Undo where
|
|
681
|
+
it can be undone), walking each main task before and after and counting the
|
|
682
|
+
steps. The speed pass makes tests, screens and requests take the
|
|
683
|
+
time their work needs (tests prepared once and run in parallel, screens that
|
|
684
|
+
load only what they need, requests batched and work done once), measuring each
|
|
685
|
+
wait before and after and never raising a limit, adding retries or shrinking
|
|
686
|
+
data or coverage to get there. Each skill holds the portable method and points at the
|
|
659
687
|
sanity checks guide; selected Stack components add where each piece lives in
|
|
660
688
|
their technology. `genesis inspect passes` lists every pass, Deslop and the UI
|
|
661
|
-
pass included, for a host to offer, with when each last finished
|
|
662
|
-
|
|
663
|
-
`genesis/passes.json
|
|
689
|
+
pass included, for a host to offer, with when each last finished and the runs
|
|
690
|
+
it offers, each with the request to send: a pass run's last step, `genesis
|
|
691
|
+
passes done <pass>`, records that in the committed `genesis/passes.json` (for a
|
|
692
|
+
pass added since Genesis 1.10.21, `genesis/passes-added.json`). A
|
|
693
|
+
project pinned to an older `genesis-compiler` gets only the passes its own
|
|
694
|
+
release runs; the others say which update adds them. See
|
|
695
|
+
[docs/passes.md](docs/passes.md).
|
|
696
|
+
|
|
697
|
+
A deep run, such as `Security pass the whole app deeply.`, first writes a
|
|
698
|
+
checklist of every file of the project's own source plus what the pass's lens
|
|
699
|
+
adds (every way in for the security pass, every screen for the UI pass), then
|
|
700
|
+
ticks each item only with evidence a reader can check: a named test in the
|
|
701
|
+
final whole-suite run, a kept measurement or output, a commit, or a command and
|
|
702
|
+
the refusal it saw. It splits the work by subsystem across several agents where
|
|
703
|
+
the host can run them, commits its own work in small steps, and opens its report
|
|
704
|
+
with the count of items ticked. `genesis inspect passes` shows its size, the
|
|
705
|
+
files and lines its checklist starts from. Every pass report, deep or not, says
|
|
706
|
+
what it read in full and what it only searched.
|
|
707
|
+
|
|
708
|
+
A Master pass runs every pass deeply, one after another, or only the passes
|
|
709
|
+
named, such as `Master pass (security, data, deslop) the whole app.`, always in
|
|
710
|
+
one order: review, security, data, quality, speed, user experience, visual
|
|
711
|
+
identity, UI and Deslop. Each pass is its own Deep run from its own prompt, and is committed
|
|
712
|
+
with the whole test suite passing before the next starts; a ledger lets an
|
|
713
|
+
interrupted Master pass continue, and one combined report covers every pass.
|
|
714
|
+
Once a Master pass is committed, it also runs over the changes since it: each
|
|
715
|
+
pass checks every changed file, the code those changes call or replace, and the
|
|
716
|
+
whole app for what they duplicate or leave dead.
|
|
717
|
+
|
|
718
|
+
```bash
|
|
719
|
+
genesis prompt --task master-pass
|
|
720
|
+
genesis prompt --task master-pass "Master pass (security, data, deslop) the whole app."
|
|
721
|
+
```
|
|
664
722
|
|
|
665
723
|
Projects can customize a selected technology through its matching file, such
|
|
666
724
|
as `genesis/stack/jskit.md`:
|
|
@@ -307,11 +307,25 @@ generates the canonical `ui-pass` prompt once, like Deslop's. A host offers it
|
|
|
307
307
|
only when `inspectPromptTasks()` reports Stack guidance for `ui-pass`; see
|
|
308
308
|
[UI pass](ui-pass.md).
|
|
309
309
|
|
|
310
|
-
The identity, quality
|
|
311
|
-
family, whose default scope is the whole
|
|
312
|
-
title, description, recommendation hint
|
|
313
|
-
|
|
314
|
-
|
|
310
|
+
The identity, quality, data, security, user experience and speed passes are
|
|
311
|
+
explicit prompt tasks of the same family, whose default scope is the whole
|
|
312
|
+
app. A host lists every pass, with its title, description, recommendation hint, last run
|
|
313
|
+
and the runs it offers, through `inspectPasses()` or `genesis inspect passes
|
|
314
|
+
--json`, instead of naming them itself, and sends a run's `request` as written:
|
|
315
|
+
Genesis recognises its own run requests, adds the run's `PASS RUN` scope and
|
|
316
|
+
`PASS RECORD` step, and records nothing else. Every pass prompt, whatever its
|
|
317
|
+
request, carries the `PASS REPORT` section, so its report states what it read
|
|
318
|
+
in full and what it only searched, with its coverage in numbers, and calls a
|
|
319
|
+
run whole only when it covered all of its scope. A deep run's prompt also
|
|
320
|
+
carries the shared `DEEP RUN` section. A pass the project's own Genesis
|
|
321
|
+
cannot run carries `unavailable` and no runs. Each pass's `sinceBase` gives the
|
|
322
|
+
request, and its deep form, of a run over the changes since a base commit the
|
|
323
|
+
host chooses (`{base}` stands for it), such as where a piece of work started;
|
|
324
|
+
Genesis scopes that run to the base and never records it. The listing's `master` entry is
|
|
325
|
+
the Master pass: a host sends its run's `request` for every pass, or its
|
|
326
|
+
`selectedRequest` with the chosen pass titles in place of `{passes}`, and the
|
|
327
|
+
`master-pass` prompt lists each pass's own Deep run request in its `MASTER PASS`
|
|
328
|
+
section; see [Passes](passes.md).
|
|
315
329
|
|
|
316
330
|
Once Codex identifies relevant source, `genesis context <path...>` returns only
|
|
317
331
|
Program modules citing those paths plus the effective engineering approach,
|
package/docs/stack-components.md
CHANGED
|
@@ -115,6 +115,22 @@ Concise technology context.
|
|
|
115
115
|
- The data owner layer, query counter, migration mechanics and database
|
|
116
116
|
differences of this technology.
|
|
117
117
|
|
|
118
|
+
## Security pass
|
|
119
|
+
|
|
120
|
+
- Where this technology decides access, scopes rows, limits repeated
|
|
121
|
+
requests, keeps sessions and secrets, and switches to production.
|
|
122
|
+
|
|
123
|
+
## User experience pass
|
|
124
|
+
|
|
125
|
+
- Where this technology decides navigation, the next action, defaults, where a
|
|
126
|
+
save lands, what can be undone and the words people read.
|
|
127
|
+
|
|
128
|
+
## Speed pass
|
|
129
|
+
|
|
130
|
+
- How this technology runs tests in parallel and prepares them once, splits
|
|
131
|
+
client code, batches requests and times its server, usually a pointer to its
|
|
132
|
+
own guidance.
|
|
133
|
+
|
|
118
134
|
## Consumer operation
|
|
119
135
|
|
|
120
136
|
```json example.consumer-operation.v1
|
|
@@ -126,7 +142,8 @@ Concise technology context.
|
|
|
126
142
|
````
|
|
127
143
|
|
|
128
144
|
`Description`, `Guidance`, `Adoption`, `Post-change`, and each pass's section
|
|
129
|
-
(`Deslop`, `UI pass`, `Identity pass`, `Quality pass`, `Data pass
|
|
145
|
+
(`Deslop`, `UI pass`, `Identity pass`, `Quality pass`, `Data pass`,
|
|
146
|
+
`Security pass`, `User experience pass`, `Speed pass`, `Review`) are prose.
|
|
130
147
|
`Requires` and `Conflicts` define component selection. `Skill` names one
|
|
131
148
|
complete authoritative Agent Skill directory. `Indexers` selects installed
|
|
132
149
|
structural adapters.
|
|
@@ -276,10 +293,10 @@ A selected component may have one prose-only customization at
|
|
|
276
293
|
```
|
|
277
294
|
|
|
278
295
|
Customizations may add or override only Description, Guidance, Adoption,
|
|
279
|
-
Post-change, and the pass sections (Deslop, UI pass, Identity pass, Quality
|
|
280
|
-
|
|
281
|
-
declarations, Verification, Agent Skill ownership, indexers, or
|
|
282
|
-
sections.
|
|
296
|
+
Post-change, and the pass sections (Deslop, UI pass, Identity pass, Quality
|
|
297
|
+
pass, Data pass, Security pass, User experience pass and Speed pass). They cannot mutate selection, resources,
|
|
298
|
+
environment declarations, Verification, Agent Skill ownership, indexers, or
|
|
299
|
+
opaque consumer sections.
|
|
283
300
|
|
|
284
301
|
## Public inspection
|
|
285
302
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genesis-compiler",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.22",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "An agent-independent prompt, multi-language code-index, cleanup, and verification companion with project agent guidance.",
|
|
6
6
|
"repository": {
|
|
@@ -36,6 +36,12 @@
|
|
|
36
36
|
"prompts/identity-pass.txt",
|
|
37
37
|
"prompts/quality-pass.txt",
|
|
38
38
|
"prompts/data-pass.txt",
|
|
39
|
+
"prompts/security-pass.txt",
|
|
40
|
+
"prompts/ux-pass.txt",
|
|
41
|
+
"prompts/speed-pass.txt",
|
|
42
|
+
"prompts/master-pass.txt",
|
|
43
|
+
"prompts/pass-report.txt",
|
|
44
|
+
"prompts/pass-deep.txt",
|
|
39
45
|
"prompts/program.txt",
|
|
40
46
|
"prompts/review.txt",
|
|
41
47
|
"prompts/start.txt",
|
|
@@ -53,6 +59,10 @@
|
|
|
53
59
|
"scripts": {
|
|
54
60
|
"test": "node --test test/*.test.js"
|
|
55
61
|
},
|
|
62
|
+
"genesisContracts": {
|
|
63
|
+
"passRuns": "genesis.pass-runs.v1",
|
|
64
|
+
"deepRuns": "genesis.deep-runs.v1"
|
|
65
|
+
},
|
|
56
66
|
"jskitRelease": {
|
|
57
67
|
"versionFiles": [
|
|
58
68
|
"plugins/genesis/.codex-plugin/plugin.json"
|
package/prompts/deslop.txt
CHANGED
|
@@ -6,6 +6,9 @@ This is an explicitly requested behavior-preserving cleanup. With no stated
|
|
|
6
6
|
scope, select your own changes for the current task across preceding turns,
|
|
7
7
|
committed or uncommitted. An explicit commit, first-parent count, or range in
|
|
8
8
|
USER REQUEST takes precedence regardless of who authored those changes.
|
|
9
|
+
Deslop's own pass request, "Deslop the whole app.", selects the whole app: the
|
|
10
|
+
project's own source in every subsystem, never generated, vendored or
|
|
11
|
+
dependency files.
|
|
9
12
|
Establish ownership from task and edit history; the entire dirty diff is not
|
|
10
13
|
automatically yours. If ownership is unclear, ask for scope. A dirty worktree
|
|
11
14
|
is allowed: preserve unrelated edits and existing staging, and leave the
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
This Master pass task has already been rendered by Genesis. Do not generate
|
|
2
|
+
another Master pass prompt. Read and follow
|
|
3
|
+
`.agents/skills/genesis-master-pass/SKILL.md` completely.
|
|
4
|
+
|
|
5
|
+
This is an explicitly requested Master pass. It runs the passes listed under
|
|
6
|
+
MASTER PASS deeply, one after another in that order, each as that pass's own
|
|
7
|
+
Deep run from its own prompt. The Master pass adds only the order, the
|
|
8
|
+
checkpoint between passes, the ledger that lets an interrupted Master pass
|
|
9
|
+
continue, and one combined report; each pass's Deep run says how that pass
|
|
10
|
+
works, and each pass keeps its own limits on what it may change. Preserve
|
|
11
|
+
unrelated edits and existing staging: each pass commits only its own work.
|
|
12
|
+
|
|
13
|
+
Report, for each pass in order, its checklist count, what changed (what now
|
|
14
|
+
behaves differently, or, for a pass that keeps behaviour, that behaviour is
|
|
15
|
+
unchanged and how that was proven), its commits and the findings left
|
|
16
|
+
unchanged; then the passes skipped and why, how the work was split across
|
|
17
|
+
agents, and the final whole-suite run.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
A deep run works through every item in its scope and ticks each one only with
|
|
2
|
+
evidence a reader can check, because a search finds only what it looks for and
|
|
3
|
+
a report can be trusted only item by item.
|
|
4
|
+
|
|
5
|
+
Checklist first
|
|
6
|
+
|
|
7
|
+
- Before changing anything, write the checklist to the file named above, which
|
|
8
|
+
lives outside the project's tracked files and survives an interrupted run.
|
|
9
|
+
Start it with this run's request and the commit it starts from.
|
|
10
|
+
- Its items are every file of the project's own source in the scope that
|
|
11
|
+
PASS RUN states, each read in full, line by line, plus what this pass's skill
|
|
12
|
+
adds under "Deep run" for its lens.
|
|
13
|
+
- When PASS RUN starts the run from the changes since a commit, its items are
|
|
14
|
+
instead: every changed or added file; every file those changes call, are
|
|
15
|
+
called by or replace; the lens's items those changes touch; and, for each
|
|
16
|
+
change, a cross-check against the whole app for what elsewhere already does
|
|
17
|
+
what it adds and for older code it should have reused or now leaves dead.
|
|
18
|
+
That cross-check is how the run is judged against the whole app: a change
|
|
19
|
+
can duplicate, contradict or bypass code it never touches, so it needs
|
|
20
|
+
evidence like any other item. The report says plainly which files were read
|
|
21
|
+
in full and which were only searched against the whole app.
|
|
22
|
+
- A checklist already in that file for the same request that is not finished
|
|
23
|
+
is continued from its first unticked item rather than started again; any
|
|
24
|
+
other is replaced.
|
|
25
|
+
|
|
26
|
+
Ticks need evidence a reader can check
|
|
27
|
+
|
|
28
|
+
- Tick an item only when it says what was read and checked and points to
|
|
29
|
+
evidence someone else can verify: a test, by its file and name, that exists
|
|
30
|
+
and runs in the final whole-suite run; a measurement or output file the run
|
|
31
|
+
kept; a commit; or the command run and the refusal it saw.
|
|
32
|
+
- Prose alone, such as "checked, looks fine", never ticks an item the pass asks
|
|
33
|
+
to prove.
|
|
34
|
+
- An item not done stays unticked, with its reason. Never tick an item to
|
|
35
|
+
finish the run.
|
|
36
|
+
|
|
37
|
+
Chunks and several agents
|
|
38
|
+
|
|
39
|
+
- Work in chunks that follow the subsystem map (`genesis/subsystems.md` where
|
|
40
|
+
the project has one, otherwise its top-level source folders), the biggest
|
|
41
|
+
files first, because they hide the most.
|
|
42
|
+
- Where your host can run several agents (subagents or parallel workers), give
|
|
43
|
+
each chunk to its own agent, as many at once as the host's test budget and
|
|
44
|
+
limits allow, with the checklist as their shared record: one chunk at a time
|
|
45
|
+
takes far longer than the work needs. Coordinate them yourself, and do the
|
|
46
|
+
cross-subsystem pass and the final whole-suite run yourself, because only
|
|
47
|
+
the coordinator sees every chunk.
|
|
48
|
+
- A host that runs one agent works through the chunks in turn and still
|
|
49
|
+
completes the whole checklist.
|
|
50
|
+
- After the chunks, make one cross-subsystem pass for what no chunk alone can
|
|
51
|
+
see, as the skill's "Deep run" names it for this pass. It is an item with
|
|
52
|
+
evidence like any other.
|
|
53
|
+
|
|
54
|
+
Changes and commits
|
|
55
|
+
|
|
56
|
+
- The engineering approach's refactor rule, and the "Refactors keep behavior"
|
|
57
|
+
section of the sanity checks guide, apply to every change. The pass keeps its
|
|
58
|
+
own limits on what it may change.
|
|
59
|
+
- Commit your own work as you go, in small commits of one checklist item or
|
|
60
|
+
concern each, every message saying what changed and why, so each step can be
|
|
61
|
+
reviewed and undone on its own. Stage only this run's changes, never other
|
|
62
|
+
people's edits.
|
|
63
|
+
- Nothing of this run stays uncommitted at the end; this replaces the skill's
|
|
64
|
+
instruction to leave the pass as uncommitted work.
|
|
65
|
+
- End with one whole-suite run on the final committed tree.
|
|
66
|
+
|
|
67
|
+
Report
|
|
68
|
+
|
|
69
|
+
- Open with the checklist count, for example "212 of 212 items ticked with
|
|
70
|
+
evidence", then how many ticks rest on each kind of evidence: tests, kept
|
|
71
|
+
measurements or output, commits, and commands with the refusals they saw.
|
|
72
|
+
- List every unticked item with its reason, and every commit of the run.
|
|
73
|
+
- Say how the run was done: with several agents (how many, over which chunks),
|
|
74
|
+
or as one agent working through the chunks in turn.
|
|
75
|
+
- A pass whose contract keeps behaviour, such as Deslop, states that behaviour
|
|
76
|
+
is unchanged and how that was proven; any other pass states plainly what now
|
|
77
|
+
behaves differently.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
A pass report is how the person learns what was checked, so it never claims
|
|
2
|
+
more coverage than the run had.
|
|
3
|
+
|
|
4
|
+
- State the method: which parts of the scope you read in full, line by line,
|
|
5
|
+
and which you only searched or sampled, naming what each search looked for.
|
|
6
|
+
A search finds only what it was told to look for; code harder to follow than
|
|
7
|
+
it needs to be, parts grown too big, and logic that does one job in
|
|
8
|
+
different words show only when the code is read.
|
|
9
|
+
- State the coverage in numbers of the items the pass works through (files,
|
|
10
|
+
screens, tasks, ways in, waits), for example "41 of 107 files read in full;
|
|
11
|
+
the rest searched for repeated helpers, unused exports and direct storage
|
|
12
|
+
calls".
|
|
13
|
+
- Call the run "whole app", "complete" or "full" only when every item in its
|
|
14
|
+
scope was covered. Otherwise call it partial and name what was not covered
|
|
15
|
+
and why, so the next run can start there.
|
package/prompts/review.txt
CHANGED
|
@@ -47,7 +47,8 @@ Judge each against the matching section and outer limit of
|
|
|
47
47
|
`.agents/skills/genesis-project/references/sanity-checks.md`.
|
|
48
48
|
|
|
49
49
|
Edit only tests: add or update the tests the changed behavior lacks, and change
|
|
50
|
-
no product code, Blueprint, Program, Stack or other file
|
|
50
|
+
no product code, Blueprint, Program, Stack or other file; the record step that
|
|
51
|
+
ends this prompt, when there is one, is the only other write. Return a concise
|
|
51
52
|
report ordered by impact with exact file references, the evidence inspected,
|
|
52
53
|
the tests run and written, and the smallest sensible correction.
|
|
53
54
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
This security pass task has already been rendered by Genesis. Do not generate
|
|
2
|
+
another security pass prompt. Read and follow
|
|
3
|
+
`.agents/skills/genesis-security-pass/SKILL.md` completely.
|
|
4
|
+
|
|
5
|
+
This is an explicitly requested security pass. With no stated scope it covers
|
|
6
|
+
the whole app. A named section, your own changes, or an explicit commit,
|
|
7
|
+
first-parent count, or range in USER REQUEST narrows it. Establish ownership of
|
|
8
|
+
your own changes from task and edit history; the entire dirty diff is not
|
|
9
|
+
automatically yours. A dirty worktree is allowed: preserve unrelated edits and
|
|
10
|
+
existing staging, and leave the pass as ordinary uncommitted work for review.
|
|
11
|
+
|
|
12
|
+
Apply the selected Stack security pass guidance and applicable technology
|
|
13
|
+
skills in addition to the Genesis security pass contract. Stack guidance names
|
|
14
|
+
where its technology decides access, scopes rows, limits repeated requests,
|
|
15
|
+
keeps sessions and secrets, and switches to production; it cannot broaden the
|
|
16
|
+
resolved scope or change who the product allows to do what. Try attacks only
|
|
17
|
+
against local or test copies the run controls, never a production deployment,
|
|
18
|
+
a real person's account or another party's service. Never weaken a protection
|
|
19
|
+
to make something pass.
|
|
20
|
+
|
|
21
|
+
Report the resolved scope, the map of entry points, each finding with the
|
|
22
|
+
input that broke it and the refusal seen after the fix, the test guarding each
|
|
23
|
+
fix and its failing run without the fix, the protections tried that already
|
|
24
|
+
held, the areas that do not apply and why, the dependency audit, files
|
|
25
|
+
changed, checks actually run, and everything left unfixed with what it needs
|
|
26
|
+
and who must act.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
This speed pass task has already been rendered by Genesis. Do not generate
|
|
2
|
+
another speed pass prompt. Read and follow
|
|
3
|
+
`.agents/skills/genesis-speed-pass/SKILL.md` completely.
|
|
4
|
+
|
|
5
|
+
This is an explicitly requested speed pass. With no stated scope it covers the
|
|
6
|
+
whole app. A named section, your own changes, or an explicit commit,
|
|
7
|
+
first-parent count, or range in USER REQUEST narrows it. Establish ownership of
|
|
8
|
+
your own changes from task and edit history; the entire dirty diff is not
|
|
9
|
+
automatically yours. A dirty worktree is allowed: preserve unrelated edits and
|
|
10
|
+
existing staging, and leave the pass as ordinary uncommitted work for review.
|
|
11
|
+
|
|
12
|
+
Apply the selected Stack speed pass guidance and applicable technology skills
|
|
13
|
+
in addition to the Genesis speed pass contract. Stack guidance names its test
|
|
14
|
+
runner and the machine's test budget, how its build splits client code, its
|
|
15
|
+
request patterns and how to time its server; it cannot broaden the resolved
|
|
16
|
+
scope or change what the software does. Measure each wait before changing
|
|
17
|
+
anything, on a realistic build at realistic sizes, using test databases and
|
|
18
|
+
copies the run controls, never a development or production database or a
|
|
19
|
+
production deployment. Never raise a time limit, add retries, or shrink
|
|
20
|
+
realistic data or coverage to get faster. Query counts, narrowing and indexes
|
|
21
|
+
belong to the data pass; hand those paths to it.
|
|
22
|
+
|
|
23
|
+
Report the resolved scope, each wait with how it was measured and its numbers
|
|
24
|
+
before and after, each cause found and its fix, the whole test suite's wall
|
|
25
|
+
time before and after with its phases and slowest files, the tests guarding
|
|
26
|
+
each fix, the paths handed to the data pass, the areas that do not apply and
|
|
27
|
+
why, files changed, checks actually run, and everything left unfixed with what
|
|
28
|
+
it needs and who must act.
|
package/prompts/ui-pass.txt
CHANGED
|
@@ -6,7 +6,9 @@ This is an explicitly requested behavior-preserving UI pass. With no stated
|
|
|
6
6
|
scope, select your own changes for the current task across preceding turns,
|
|
7
7
|
committed or uncommitted. An explicit commit, first-parent count, or range in
|
|
8
8
|
USER REQUEST takes precedence regardless of who authored those changes. A named
|
|
9
|
-
section or "the whole app" in USER REQUEST selects that scope instead.
|
|
9
|
+
section or "the whole app" in USER REQUEST selects that scope instead. The
|
|
10
|
+
whole app is the project's own screens in every section, never generated,
|
|
11
|
+
vendored or dependency files.
|
|
10
12
|
Establish ownership from task and edit history; the entire dirty diff is not
|
|
11
13
|
automatically yours. If ownership is unclear, ask for scope. A dirty worktree
|
|
12
14
|
is allowed: preserve unrelated edits and existing staging, and leave the pass
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
This user experience pass task has already been rendered by Genesis. Do not
|
|
2
|
+
generate another user experience pass prompt. Read and follow
|
|
3
|
+
`.agents/skills/genesis-ux-pass/SKILL.md` completely.
|
|
4
|
+
|
|
5
|
+
This is an explicitly requested user experience pass. With no stated scope it
|
|
6
|
+
covers the whole app. A named section, your own changes, or an explicit commit,
|
|
7
|
+
first-parent count, or range in USER REQUEST narrows it. Establish ownership of
|
|
8
|
+
your own changes from task and edit history; the entire dirty diff is not
|
|
9
|
+
automatically yours. A dirty worktree is allowed: preserve unrelated edits and
|
|
10
|
+
existing staging, and leave the pass as ordinary uncommitted work for review.
|
|
11
|
+
|
|
12
|
+
Apply the selected Stack user experience pass guidance and applicable
|
|
13
|
+
technology skills in addition to the Genesis user experience pass contract.
|
|
14
|
+
Stack guidance names where its technology decides navigation, the next action,
|
|
15
|
+
defaults, where a save lands, what can be undone and the words people read; it
|
|
16
|
+
cannot broaden the resolved scope or change what the product does. Walk each
|
|
17
|
+
main task through the real interface before changing it and again after.
|
|
18
|
+
Never remove a permission, a validation or the confirmation of an irreversible
|
|
19
|
+
action to save a step.
|
|
20
|
+
|
|
21
|
+
Report the resolved scope, the main tasks with who does them, each task's
|
|
22
|
+
steps and decisions before and after, what changed and why, the test locking
|
|
23
|
+
in each changed path and its failing run against the old path, the
|
|
24
|
+
screenshots or transcripts taken, files changed, checks actually run, and
|
|
25
|
+
findings left unchanged with what they need and who must decide.
|
|
@@ -53,12 +53,23 @@ another agent and do not generate it again. This step composes the selected
|
|
|
53
53
|
Stack's data pass guidance and any project customization with the portable
|
|
54
54
|
contract below.
|
|
55
55
|
|
|
56
|
+
When the user asks for a deep run of this pass, pass its Deep request,
|
|
57
|
+
`Data pass the whole app deeply.`, exactly;
|
|
58
|
+
Genesis then adds the run's `DEEP RUN` section.
|
|
59
|
+
|
|
56
60
|
## Resolve the scope
|
|
57
61
|
|
|
58
62
|
Inspect `git status --short` and the staged and unstaged diffs before editing.
|
|
59
63
|
A dirty worktree is allowed. Preserve the existing index and unrelated work; do
|
|
60
64
|
not stage, stash, commit, or discard changes as a prerequisite.
|
|
61
65
|
|
|
66
|
+
When the prompt has a `PASS RUN` section, the request is one of the pass's own
|
|
67
|
+
runs (the whole app, the changes since its last completed run judged against
|
|
68
|
+
the whole app, or a deep run) or a run over the changes since a base commit the
|
|
69
|
+
request names, and its scope is the one that section states, whatever the
|
|
70
|
+
defaults below say. A deep run's prompt also has a `DEEP RUN`
|
|
71
|
+
section; follow it with "Deep run" below.
|
|
72
|
+
|
|
62
73
|
- **The whole app (default).** Every table, collection or store, and every
|
|
63
74
|
path that reads or writes them.
|
|
64
75
|
- **A section.** A named area (a module, a subsystem, a set of tables): its
|
|
@@ -157,7 +168,21 @@ lock and time notes, the indexes with the query each serves and the plan that
|
|
|
157
168
|
uses it, the tests added, files changed, checks actually run, and follow-up
|
|
158
169
|
findings left unchanged.
|
|
159
170
|
|
|
160
|
-
|
|
161
|
-
Genesis `passes done data-pass` operation records it in `genesis/passes.json`,
|
|
162
|
-
uncommitted change that lands in the pass's own commit.
|
|
163
|
-
|
|
171
|
+
When the prompt ends with a `PASS RECORD` step, take it once the pass has
|
|
172
|
+
finished: the Genesis `passes done data-pass` operation records it in `genesis/passes.json`,
|
|
173
|
+
an uncommitted change that lands in the pass's own commit. Genesis adds that
|
|
174
|
+
step only to the pass's own runs, whose requests it writes itself, so a data
|
|
175
|
+
pass of a section, commits or your own changes is never recorded as the pass;
|
|
176
|
+
neither is a pass that stopped early, was abandoned or still has failing
|
|
177
|
+
checks.
|
|
178
|
+
|
|
179
|
+
## Deep run
|
|
180
|
+
|
|
181
|
+
When the prompt has a `DEEP RUN` section, follow it: it says how the checklist,
|
|
182
|
+
evidence, chunks, commits and report work for every pass. This pass adds to the
|
|
183
|
+
checklist:
|
|
184
|
+
|
|
185
|
+
- every store or table, every query path with its counts at a few rows and at
|
|
186
|
+
a realistic size, and every migration, constraint and index;
|
|
187
|
+
- the cross-subsystem item: a store read or written by more than one owner,
|
|
188
|
+
and the same query written in several places.
|