genesis-compiler 1.4.0 → 1.4.1

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 CHANGED
@@ -281,6 +281,11 @@ genesis collaboration set direct balanced expert conclusions "Be candid."
281
281
  Genesis owns the supported choices and their concise expansions. Authored
282
282
  project requirements receive one fixed framing sentence and are otherwise
283
283
  preserved. They are omitted when the source says `- Nothing.`.
284
+ The configured style applies to progress updates as well as final answers,
285
+ with technical depth and terminology matched to the selected experience level.
286
+ Updates should describe actual progress, findings, decisions, or blockers,
287
+ rather than announce compliance with guidance or reassure the user about
288
+ unrelated behavior staying unchanged.
284
289
 
285
290
  Persistent hosts should install `projectSessionContext()` once when a provider
286
291
  conversation is created or refreshed. They may then generate task prompts with
@@ -446,21 +451,25 @@ turn, and the project skill keeps intentional Blueprint and affected Program
446
451
  changes aligned there.
447
452
 
448
453
  Deslop runs only when explicitly requested. With no stated scope it reviews the
449
- latest commit; the last N commits” reviews the net surviving first-parent
450
- range, and a named commit or range is honored exactly. It requires a clean
451
- worktree and leaves ordinary uncommitted cleanup for review rather than
452
- amending history. Genesis supplies the behavior-preserving boundary and Git
454
+ agent's own changes for the current task across preceding turns, committed or
455
+ uncommitted. An explicit commit, first-parent count, or range takes precedence
456
+ regardless of authorship. The agent establishes ownership from task and edit
457
+ history, preserves unrelated edits and existing staging, and asks for scope
458
+ when ownership is unclear. A dirty worktree is allowed, and cleanup remains
459
+ uncommitted for review. Genesis supplies the behavior-preserving boundary and
453
460
  scope rules. Selected Stack components add technology-specific Deslop guidance
454
461
  without weakening or broadening that contract.
455
462
 
456
- ### Deslop committed work
463
+ ### Deslop your changes or specified commits
457
464
 
458
465
  Inside Codex, OpenCode, or another skill-aware coding agent, ask directly:
459
466
 
460
467
  ```text
461
468
  Deslop
469
+ Deslop the last commit
462
470
  Deslop the last 5 commits
463
471
  Deslop commit a1b2c3d
472
+ Deslop a1b2c3d..d4e5f6a
464
473
  ```
465
474
 
466
475
  The installed `genesis-deslop` skill generates the canonical project prompt
@@ -473,8 +482,10 @@ selection, generate the same complete prompt explicitly:
473
482
 
474
483
  ```bash
475
484
  genesis prompt --task deslop
485
+ genesis prompt --task deslop "Deslop the last commit"
476
486
  genesis prompt --task deslop "Deslop the last 5 commits"
477
487
  genesis prompt --task deslop "Deslop commit a1b2c3d"
488
+ genesis prompt --task deslop "Deslop a1b2c3d..d4e5f6a"
478
489
  ```
479
490
 
480
491
  Give the printed prompt to the coding agent that has access to the repository.
@@ -486,10 +497,12 @@ Stack component. Project additions or overrides from
486
497
  The main `genesis/stack.md` records component selection and durable project
487
498
  operations; it intentionally does not duplicate installed guidance bodies.
488
499
 
489
- Deslop refuses to mix cleanup with an existing dirty worktree. Its result is a
490
- normal uncommitted diff for review and a later commit. It never amends the
491
- selected commit, silently fixes newly discovered defects, or runs as an
492
- automatic completion phase.
500
+ The whole dirty diff is not automatically the agent's work. Deslop preserves
501
+ the user's and other agents' changes, including edits in the same files. With
502
+ no changes of its own for the task, it reports that there is nothing to clean
503
+ up; it does not silently select the latest commit. Its result is a normal
504
+ uncommitted diff for review and a later commit. It never amends selected commits,
505
+ silently fixes newly discovered defects, or runs as an automatic completion phase.
493
506
 
494
507
  Projects can customize a selected technology through its matching file, such
495
508
  as `genesis/stack/jskit.md`:
@@ -563,7 +576,8 @@ genesis prompt # implementation work
563
576
  genesis prompt --task start # open a new or existing project conversation
564
577
  genesis prompt --task adopt # import an existing project's complete contract
565
578
  genesis prompt "Add filtering by note title"
566
- genesis prompt --task deslop # clean up the latest commit
579
+ genesis prompt --task deslop # clean up the agent's own task changes
580
+ genesis prompt --task deslop "Deslop the last commit"
567
581
  genesis prompt --task deslop "Deslop the last 5 commits"
568
582
  genesis prompt --task deslop "Deslop commit a1b2c3d"
569
583
  genesis prompt --task program # refresh explanation
@@ -590,9 +604,10 @@ The eight task types are deliberately explicit:
590
604
  - `work` implements the Blueprint and optional request using current code,
591
605
  Program, the selected engineering approach, selected Stack context, and
592
606
  progressively loaded Agent Skills.
593
- - `deslop` requests behavior-preserving cleanup of committed work explicitly.
594
- It defaults to the latest commit, accepts a first-parent commit count or exact
595
- commit/range, requires a clean worktree, and leaves its result uncommitted.
607
+ - `deslop` explicitly requests behavior-preserving cleanup of the agent's own
608
+ task changes, committed or uncommitted. An explicit commit, first-parent
609
+ count, or range takes precedence. It preserves unrelated work and existing
610
+ staging, permits a dirty worktree, and leaves its result uncommitted.
596
611
  - `program` edits only `genesis/program/` to explain the code that exists, with
597
612
  selected Stack guidance available for technology-specific correctness.
598
613
  - `blueprint` edits only `genesis/blueprint.md` from explicit user intent. It
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genesis-compiler",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
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": {
@@ -2,15 +2,19 @@ This Deslop task has already been rendered by Genesis. Do not generate another
2
2
  Deslop prompt. Read and follow `.agents/skills/genesis-deslop/SKILL.md`
3
3
  completely.
4
4
 
5
- This is an explicitly requested behavior-preserving cleanup of committed work.
6
- Resolve the commit or first-parent commit range from USER REQUEST exactly; when
7
- no scope is stated, use the latest commit. Require a clean worktree before
8
- editing and leave the cleanup as ordinary uncommitted work for review.
5
+ This is an explicitly requested behavior-preserving cleanup. With no stated
6
+ scope, select your own changes for the current task across preceding turns,
7
+ committed or uncommitted. An explicit commit, first-parent count, or range in
8
+ USER REQUEST takes precedence regardless of who authored those changes.
9
+ Establish ownership from task and edit history; the entire dirty diff is not
10
+ automatically yours. If ownership is unclear, ask for scope. A dirty worktree
11
+ is allowed: preserve unrelated edits and existing staging, and leave the
12
+ cleanup as ordinary uncommitted work for review.
9
13
 
10
14
  Apply the selected Stack cleanup guidance and applicable technology skills in
11
15
  addition to the Genesis Deslop contract. Stack guidance may improve
12
- technology-specific cleanup, but it cannot broaden the resolved Git scope,
16
+ technology-specific cleanup, but it cannot broaden the resolved scope,
13
17
  weaken behavior preservation, or turn this into another implementation pass.
14
18
 
15
- Report the resolved range, what became simpler, files changed, checks actually
19
+ Report the resolved scope, what became simpler, files changed, checks actually
16
20
  run, and any defect or gap deliberately left for follow-up.
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: genesis-deslop
3
- description: Deslop committed work through an explicit behavior-preserving cleanup pass. Use when asked to Deslop a commit or recent commits, simplify completed work, remove repeated helpers, clarify ownership, or align changed code with established project and technology patterns.
3
+ description: Deslop the agent's own task changes or explicitly selected commits through a behavior-preserving cleanup pass. Use when asked to Deslop, simplify current work, remove repeated helpers, clarify ownership, or align changed code with established project and technology patterns.
4
4
  ---
5
5
 
6
6
  # Genesis Deslop
7
7
 
8
- Review and simplify committed work without changing product behavior. Deslop is
8
+ Review and simplify selected changes without changing product behavior. Deslop is
9
9
  explicit: never run it merely because implementation finished.
10
10
 
11
11
  Resolve the invocation before running the first Genesis operation. Do not use a
@@ -29,8 +29,11 @@ Genesis operation or `genesis --version` as an availability probe.
29
29
  Successful invocation resolution is routine. Do not narrate whether Genesis is
30
30
  project-pinned or on `PATH`, and never describe direct `PATH` use as a fallback.
31
31
  Mention how the invocation was selected only when resolution fails or the user
32
- explicitly asks. This does not suppress an otherwise-required work update about
33
- using Genesis; keep that update about the project work, not executable selection.
32
+ explicitly asks.
33
+
34
+ Follow the configured Collaboration approach for user-facing updates, including
35
+ its technical depth and response length. Report concrete progress,
36
+ findings, or blockers; do not announce that you are following guidance.
34
37
 
35
38
  ## Load the effective project instructions once
36
39
 
@@ -49,25 +52,41 @@ to another agent and do not generate it again. This step composes the selected
49
52
  Stack's technology-specific Deslop guidance and any project customization with
50
53
  the portable contract below.
51
54
 
52
- ## Resolve the committed scope
55
+ ## Resolve the cleanup scope
53
56
 
54
- Before reading or editing the selected change, require a clean worktree and
55
- index with `git status --short`. Stop and report the existing paths when it is
56
- not clean; do not stash, commit, discard, or mix them into Deslop.
57
+ Inspect `git status --short` and the staged and unstaged diffs before editing.
58
+ A dirty worktree is allowed; a prior commit is not required. Preserve the
59
+ existing index and unrelated work. Do not stage, stash, commit, or discard
60
+ changes as a prerequisite or as part of cleanup.
57
61
 
58
62
  Resolve the user's scope as follows:
59
63
 
60
- - With no stated scope, use the latest commit.
64
+ - With no stated scope, select only your own changes for the current task,
65
+ including preceding turns. This can include staged and unstaged edits,
66
+ new untracked files, and already-committed task changes. Identify ownership
67
+ from task and edit history, then confirm those changes against the current
68
+ source and Git diffs. Neither the entire
69
+ dirty diff, the latest commit, nor a Git author identity proves ownership.
70
+ - Preserve changes made by the user or other agents, including edits in the
71
+ same files. If ownership cannot be established, ask which changes to deslop. If there
72
+ are no changes of your own for this task, report that there is nothing to
73
+ deslop; do not silently select the latest commit or somebody else's work.
74
+ - An explicit commit, first-parent count, or range takes precedence over the
75
+ default, regardless of who authored those changes.
76
+ - “The last commit” means `HEAD` against its first parent.
61
77
  - “The last N commits” means the net surviving change from the first parent
62
78
  before those N commits through `HEAD`.
63
79
  - A named commit means that commit against its first parent.
64
80
  - An explicit commit range means exactly that range.
65
81
  - A root commit uses Git's root-diff form because it has no parent.
66
82
 
67
- Inspect the resolved commit identities and changed paths before editing. Review
68
- the committed diff, current source, direct call sites, relevant tests, and the
69
- affected Program and Stack context. Do not substitute the ordinary working-tree
70
- diff for the selected committed scope.
83
+ Inspect the resolved changes and paths, plus commit identities when applicable.
84
+ Review their diff, current source, direct call sites, relevant tests, and the
85
+ affected Program and Stack context. For an explicit committed scope, do not
86
+ substitute the ordinary working-tree diff for the selected committed diff.
87
+ Apply cleanup to the current source while preserving edits outside the scope.
88
+ If overlapping edits cannot be separated safely, ask about that overlap rather
89
+ than blocking solely because the repository is dirty.
71
90
 
72
91
  ## Apply the cleanup contract
73
92
 
@@ -81,7 +100,7 @@ operation to find existing public and internal functions before introducing or
81
100
  consolidating an abstraction. Confirm every apparent duplicate in source and
82
101
  its call sites.
83
102
 
84
- Within the selected commits' intended behavior and scope, leave no
103
+ Within the selected changes' intended behavior and scope, leave no
85
104
  repeated helpers, no code that is unclear or hard to reason about, and no code
86
105
  that goes against established patterns in the codebase. Remove unnecessary
87
106
  wrappers, abandoned scaffolding, parallel framework plumbing, and speculative
@@ -89,9 +108,10 @@ abstractions. Consolidate ownership where one clear module is enough. Do not
89
108
  optimize for tiny files or indirection; optimize for a small, obvious design
90
109
  that a junior programmer can follow.
91
110
 
92
- Cleanup is not a second implementation pass. A committed path limits where cleanup
93
- may occur; it does not authorize different behavior in that file. Deslop may
94
- reorganize behavior already present; it may not complete, correct, or extend
111
+ Cleanup is not a second implementation pass. The selected changes limit where
112
+ cleanup may occur; sharing a file does not bring unrelated edits into scope or
113
+ authorize different behavior in that file. Deslop may reorganize behavior
114
+ already present; it may not complete, correct, or extend
95
115
  behavior. If review reveals a defect, missing behavior, contract mismatch, or
96
116
  test gap, report it as a follow-up finding and leave it unchanged, even when it
97
117
  is inside a changed path or appears related to the preceding implementation. Do
@@ -100,7 +120,7 @@ not implement the finding or alter tests to accommodate it during Deslop.
100
120
  Apply every technology-specific Deslop instruction supplied by the selected
101
121
  Stack and load applicable official technology skills for framework and language
102
122
  context. Stack guidance enriches this contract; it cannot weaken the
103
- behavior-preserving boundary, change the selected Git scope, or authorize
123
+ behavior-preserving boundary, change the selected scope, or authorize
104
124
  unrelated implementation.
105
125
 
106
126
  You may edit or delete implementation and test files when that is the clearest
@@ -115,5 +135,6 @@ create a second architecture or perform unrelated rewrites.
115
135
  Leave the cleanup as ordinary uncommitted work for review and a later normal
116
136
  commit. Never amend or rewrite the selected commits. Run focused checks when
117
137
  useful. Final declared checks remain available through the Genesis `verify`
118
- operation. Summarize the resolved commit range, what became simpler, files
119
- changed, checks actually run, and follow-up findings left unchanged.
138
+ operation. Summarize the resolved scope and any selected commit identities,
139
+ what became simpler, files changed, checks actually run, and follow-up findings
140
+ left unchanged.
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Genesis Deslop"
3
- short_description: "Clean up committed work without behavior drift"
4
- default_prompt: "Use $genesis-deslop to Deslop the latest commit."
3
+ short_description: "Clean up your task changes or specified commits"
4
+ default_prompt: "Use $genesis-deslop to Deslop your own changes for the current task."
@@ -46,8 +46,11 @@ Genesis operation or `genesis --version` as an availability probe.
46
46
  Successful invocation resolution is routine. Do not narrate whether Genesis is
47
47
  project-pinned or on `PATH`, and never describe direct `PATH` use as a fallback.
48
48
  Mention how the invocation was selected only when resolution fails or the user
49
- explicitly asks. This does not suppress an otherwise-required work update about
50
- using Genesis; keep that update about the project work, not executable selection.
49
+ explicitly asks.
50
+
51
+ Follow the configured Collaboration approach for user-facing updates, including
52
+ its technical depth and response length. Report concrete progress,
53
+ findings, or blockers; do not announce that you are following guidance.
51
54
 
52
55
  ## Resolve explicit technology choices
53
56
 
@@ -198,6 +198,10 @@ function collaborationCatalog() {
198
198
 
199
199
  function collaborationGuidance(value) {
200
200
  return [
201
+ 'Apply the configured tone, response length, assumed experience, and explanation style to every user-facing message, including progress updates and final responses.',
202
+ 'Match technical depth and terminology to the configured experience level. Report concrete changes, findings, decisions, or blockers at that level of detail.',
203
+ 'Do not announce that you are following project, UI, Stack, or Agent Skill guidance, or add unsolicited assurances about unrelated behavior staying unchanged. Explain process or scope when the user asks or it matters to a decision or blocker, using the configured style.',
204
+ '',
201
205
  '## Tone',
202
206
  '',
203
207
  DIMENSIONS.tone[value.tone].guidance,
@@ -27,7 +27,7 @@ const DEFAULT_REQUEST = {
27
27
  start: 'Start a conversation about this project.',
28
28
  adopt: 'Import the existing project into a truthful Genesis project contract.',
29
29
  work: 'Implement the product intent expressed by the current Blueprint.',
30
- deslop: 'Deslop the latest commit.',
30
+ deslop: 'Deslop your own changes for the current task.',
31
31
  program: 'Refresh the complete useful Program for the code that exists now.',
32
32
  describe: 'Create or refresh the complete Blueprint and useful Program for the codebase that exists now.',
33
33
  review: 'Review the complete useful relationship between Blueprint, code, Program, and tests.',
@@ -144,7 +144,7 @@ export async function projectSessionContext({
144
144
  '- Program is fallible explanation; code, tests, and runtime behavior remain evidence.',
145
145
  '- Keep Blueprint and affected Program explanations aligned with intentional observable product behavior in the same implementation turn. Private restructuring may need only source citations or no explanatory change.',
146
146
  '- Before reporting completion, compare the requested observable behavior, required inputs and resources, declared project operations, and focused evidence with what actually exists. State anything not proven.',
147
- '- Deslop only when explicitly requested. Genesis defines its behavior-preserving committed scope; selected Stack components may add technology-specific cleanup guidance.',
147
+ '- Deslop only when explicitly requested. By default, clean up your own changes for the current task, committed or uncommitted; explicit commits or ranges take precedence. Preserve behavior, unrelated work, and existing staging; a dirty worktree is allowed. Selected Stack components may add technology-specific cleanup guidance.',
148
148
  '- This guidance is loaded for a new session and refreshed after compaction. Continue the active request without restarting completed work.',
149
149
  `Engineering profile: ${engineering.profile?.id || 'invalid; run the Genesis `check` operation'}.`,
150
150
  `Selected Stack components: ${stackStatus}.`,