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.
Files changed (43) hide show
  1. package/README.md +74 -16
  2. package/docs/prompt-integration.md +19 -5
  3. package/docs/stack-components.md +22 -5
  4. package/package.json +11 -1
  5. package/plugins/genesis/.codex-plugin/plugin.json +1 -1
  6. package/prompts/deslop.txt +3 -0
  7. package/prompts/master-pass.txt +17 -0
  8. package/prompts/pass-deep.txt +77 -0
  9. package/prompts/pass-report.txt +15 -0
  10. package/prompts/review.txt +2 -1
  11. package/prompts/security-pass.txt +26 -0
  12. package/prompts/speed-pass.txt +28 -0
  13. package/prompts/ui-pass.txt +3 -1
  14. package/prompts/ux-pass.txt +25 -0
  15. package/skills/genesis-data-pass/SKILL.md +29 -4
  16. package/skills/genesis-deslop/SKILL.md +47 -6
  17. package/skills/genesis-identity-pass/SKILL.md +29 -4
  18. package/skills/genesis-master-pass/SKILL.md +132 -0
  19. package/skills/genesis-master-pass/agents/openai.yaml +4 -0
  20. package/skills/genesis-quality-pass/SKILL.md +30 -4
  21. package/skills/genesis-review/SKILL.md +120 -0
  22. package/skills/genesis-review/agents/openai.yaml +4 -0
  23. package/skills/genesis-security-pass/SKILL.md +297 -0
  24. package/skills/genesis-security-pass/agents/openai.yaml +4 -0
  25. package/skills/genesis-speed-pass/SKILL.md +351 -0
  26. package/skills/genesis-speed-pass/agents/openai.yaml +4 -0
  27. package/skills/genesis-ui-pass/SKILL.md +38 -7
  28. package/skills/genesis-ux-pass/SKILL.md +276 -0
  29. package/skills/genesis-ux-pass/agents/openai.yaml +4 -0
  30. package/src/cli-commands.js +3 -1
  31. package/src/cli.js +14 -4
  32. package/src/index/agent-skills.js +53 -29
  33. package/src/index/assets.js +4 -1
  34. package/src/index/code-index.js +2 -1
  35. package/src/index/contracts.js +2 -0
  36. package/src/index/master-pass.js +76 -0
  37. package/src/index/pass-record.js +124 -22
  38. package/src/index/pass-support.js +71 -0
  39. package/src/index/passes.js +92 -5
  40. package/src/index/project-files.js +2 -1
  41. package/src/index/prompt.js +306 -28
  42. package/src/index/source-size.js +62 -0
  43. 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`, seven project Agent Skills,
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` and `genesis-data-pass`), each with standard `SKILL.md` and
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. An
236
- unprepared declared dependency is reported instead of substituting the host's
237
- version. Other projects use the running compiler's packaged skills. Package
238
- upgrades remain explicit dependency changes.
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` that a pass finished now; every pass prompt ends with it. |
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 last run. |
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 data passes
642
+ ### Identity, quality, data, security, user experience and speed passes
636
643
 
637
- Three more passes run only when asked, over the whole app unless the request
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. Each skill holds the portable method and points at the
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: a pass's last
662
- step, `genesis passes done <pass>`, records that in the committed
663
- `genesis/passes.json`. See [docs/passes.md](docs/passes.md).
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 and data passes are explicit prompt tasks of the same
311
- family, whose default scope is the whole app. A host lists every pass, with its
312
- title, description, recommendation hint and last run, through `inspectPasses()`
313
- or `genesis inspect passes --json`, instead of naming them itself; see
314
- [Passes](passes.md).
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,
@@ -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`) are prose.
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 pass
280
- and Data pass). They cannot mutate selection, resources, environment
281
- declarations, Verification, Agent Skill ownership, indexers, or opaque consumer
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.20",
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"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genesis",
3
- "version": "1.10.20",
3
+ "version": "1.10.22",
4
4
  "description": "Makes Codex aware of optional Genesis adoption for existing projects.",
5
5
  "author": {
6
6
  "name": "Mobily Enterprises"
@@ -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.
@@ -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. Return a concise
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.
@@ -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
- Once the pass has finished, end with the prompt's `PASS RECORD` step: the
161
- Genesis `passes done data-pass` operation records it in `genesis/passes.json`, an
162
- uncommitted change that lands in the pass's own commit. A pass that stopped
163
- early, was abandoned or still has failing checks is not recorded.
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.