llm-wb 0.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/.agentic/00.chat/README.md +78 -0
  2. package/.agentic/00.chat/checklists/before-commit.md +195 -0
  3. package/.agentic/00.chat/checklists/llm-workbench-public-beta.md +94 -0
  4. package/.agentic/00.chat/commands/README.md +108 -0
  5. package/.agentic/00.chat/migration-plan.md +132 -0
  6. package/.agentic/00.chat/skills/session-summary.md +48 -0
  7. package/.agentic/00.chat/standards/llm-workbench-public-beta-contract.md +216 -0
  8. package/.agentic/00.chat/standards/main-refresh-conflict-types.md +358 -0
  9. package/.agentic/00.chat/workflows/README.md +40 -0
  10. package/.agentic/00.chat/workflows/bootstrap-chat-workbench-repo.md +212 -0
  11. package/.agentic/00.chat/workflows/chat-cleanup.md +102 -0
  12. package/.agentic/00.chat/workflows/chat-commit.md +56 -0
  13. package/.agentic/00.chat/workflows/chat-promote-to-main.md +169 -0
  14. package/.agentic/00.chat/workflows/chat-refresh-from-main.md +242 -0
  15. package/.agentic/00.chat/workflows/chat-reporting.md +69 -0
  16. package/.agentic/00.chat/workflows/chat-start.md +173 -0
  17. package/.agentic/00.chat/workflows/chat-upstream-reusable-lesson.md +123 -0
  18. package/.agentic/shared/standards/README.md +32 -0
  19. package/.agentic/shared/standards/upstream-repo-bootstrap.md +131 -0
  20. package/.agentic/shared/workflows/README.md +35 -0
  21. package/.agentic/shared/workflows/capability-resolution-workflow.md +189 -0
  22. package/.agentic/shared/workflows/change-shared-process.md +92 -0
  23. package/.cursor/rules/llm-workbench.mdc +17 -0
  24. package/.github/copilot-instructions.md +16 -0
  25. package/AGENTS.md +63 -0
  26. package/CLAUDE.md +16 -0
  27. package/CONTRIBUTING.md +57 -0
  28. package/LICENSE +21 -0
  29. package/LLM_WORKBENCH.md +17 -0
  30. package/README.md +98 -0
  31. package/SECURITY.md +44 -0
  32. package/bin/llm-workbench.js +672 -0
  33. package/docs/00.chat/README.md +47 -0
  34. package/docs/00.chat/llm-workbench-acceptance-matrix.md +55 -0
  35. package/docs/00.chat/script-layout.md +107 -0
  36. package/docs/adapting-to-your-repo.md +29 -0
  37. package/docs/concepts.md +38 -0
  38. package/docs/install.md +114 -0
  39. package/docs/public-beta-contract.md +45 -0
  40. package/docs/workflows.md +103 -0
  41. package/examples/minimal-repo/README.md +13 -0
  42. package/package.json +93 -0
  43. package/scripts/00.chat/README.md +46 -0
  44. package/scripts/00.chat/bootstrap/README.md +35 -0
  45. package/scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/README.md +39 -0
  46. package/scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/script.sh +213 -0
  47. package/scripts/00.chat/closeout/README.md +30 -0
  48. package/scripts/00.chat/closeout/build-closeout-prompt/README.md +35 -0
  49. package/scripts/00.chat/closeout/build-closeout-prompt/script.sh +124 -0
  50. package/scripts/00.chat/command/README.md +31 -0
  51. package/scripts/00.chat/command/close/README.md +30 -0
  52. package/scripts/00.chat/command/close/script.sh +25 -0
  53. package/scripts/00.chat/command/dispatcher/README.md +46 -0
  54. package/scripts/00.chat/command/dispatcher/script.sh +91 -0
  55. package/scripts/00.chat/command/dispatcher/smoke-test.sh +168 -0
  56. package/scripts/00.chat/command/new/README.md +32 -0
  57. package/scripts/00.chat/command/new/script.sh +28 -0
  58. package/scripts/00.chat/command/open-window/README.md +38 -0
  59. package/scripts/00.chat/command/open-window/script.sh +25 -0
  60. package/scripts/00.chat/command/package-scripts/README.md +34 -0
  61. package/scripts/00.chat/command/package-scripts/smoke-test.sh +113 -0
  62. package/scripts/00.chat/git/README.md +30 -0
  63. package/scripts/00.chat/git/cleanup-empty-chat-branches/README.md +36 -0
  64. package/scripts/00.chat/git/cleanup-empty-chat-branches/script.sh +243 -0
  65. package/scripts/00.chat/git/cleanup-empty-chat-branches/smoke-test.sh +136 -0
  66. package/scripts/00.chat/local-merge/README.md +30 -0
  67. package/scripts/00.chat/local-merge/list-active-chat-branches/README.md +29 -0
  68. package/scripts/00.chat/local-merge/list-active-chat-branches/script.sh +109 -0
  69. package/scripts/00.chat/local-merge/report-chat-branch-overlaps/README.md +29 -0
  70. package/scripts/00.chat/local-merge/report-chat-branch-overlaps/script.sh +142 -0
  71. package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/README.md +33 -0
  72. package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/script.sh +345 -0
  73. package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/smoke-test.sh +244 -0
  74. package/scripts/00.chat/main-refresh/README.md +39 -0
  75. package/scripts/00.chat/main-refresh/apply-rehearsed-refresh/README.md +32 -0
  76. package/scripts/00.chat/main-refresh/apply-rehearsed-refresh/script.sh +198 -0
  77. package/scripts/00.chat/main-refresh/check-chat-is-current-with-main/README.md +30 -0
  78. package/scripts/00.chat/main-refresh/check-chat-is-current-with-main/script.sh +121 -0
  79. package/scripts/00.chat/main-refresh/classify-conflict/README.md +39 -0
  80. package/scripts/00.chat/main-refresh/classify-conflict/script.sh +169 -0
  81. package/scripts/00.chat/main-refresh/classify-conflict/smoke-test.sh +137 -0
  82. package/scripts/00.chat/main-refresh/classify-refresh-readiness/README.md +35 -0
  83. package/scripts/00.chat/main-refresh/classify-refresh-readiness/script.sh +171 -0
  84. package/scripts/00.chat/main-refresh/classify-refresh-readiness/smoke-test.sh +132 -0
  85. package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/README.md +34 -0
  86. package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/script.sh +124 -0
  87. package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/smoke-test.sh +257 -0
  88. package/scripts/00.chat/main-refresh/show-main-update-status/README.md +31 -0
  89. package/scripts/00.chat/main-refresh/show-main-update-status/script.sh +73 -0
  90. package/scripts/00.chat/main-refresh/verify-conflict-audit/README.md +37 -0
  91. package/scripts/00.chat/main-refresh/verify-conflict-audit/script.sh +154 -0
  92. package/scripts/00.chat/main-refresh/verify-conflict-audit/smoke-test.sh +99 -0
  93. package/scripts/00.chat/metrics/README.md +35 -0
  94. package/scripts/00.chat/metrics/data/chat-pricing.json +107 -0
  95. package/scripts/00.chat/metrics/data/chat-pricing.schema.json +63 -0
  96. package/scripts/00.chat/metrics/estimate-chat-cost/README.md +40 -0
  97. package/scripts/00.chat/metrics/estimate-chat-cost/script.js +130 -0
  98. package/scripts/00.chat/migration/README.md +30 -0
  99. package/scripts/00.chat/migration/audit-chat-layer-migration/README.md +33 -0
  100. package/scripts/00.chat/migration/audit-chat-layer-migration/script.sh +127 -0
  101. package/scripts/00.chat/recovery/README.md +30 -0
  102. package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/README.md +76 -0
  103. package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/script.sh +212 -0
  104. package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/smoke-test.sh +162 -0
  105. package/scripts/00.chat/reporting/README.md +30 -0
  106. package/scripts/00.chat/reporting/generate-commit-log-summary/README.md +35 -0
  107. package/scripts/00.chat/reporting/generate-commit-log-summary/script.sh +299 -0
  108. package/scripts/00.chat/reporting/generate-commit-log-summary/smoke-test.sh +93 -0
  109. package/scripts/00.chat/reporting/report-chat-workspaces/README.md +32 -0
  110. package/scripts/00.chat/reporting/report-chat-workspaces/script.sh +82 -0
  111. package/scripts/00.chat/session-log/README.md +33 -0
  112. package/scripts/00.chat/session-log/check-commit-prerequisites/README.md +89 -0
  113. package/scripts/00.chat/session-log/check-commit-prerequisites/script.sh +121 -0
  114. package/scripts/00.chat/session-log/check-commit-prerequisites/smoke-test.sh +119 -0
  115. package/scripts/00.chat/session-log/check-commitlog-deletions/README.md +90 -0
  116. package/scripts/00.chat/session-log/check-commitlog-deletions/script.sh +131 -0
  117. package/scripts/00.chat/session-log/check-commitlog-deletions/smoke-test.sh +123 -0
  118. package/scripts/00.chat/session-log/checkpoint-chat-session-log/README.md +98 -0
  119. package/scripts/00.chat/session-log/checkpoint-chat-session-log/script.sh +126 -0
  120. package/scripts/00.chat/session-log/paths/README.md +38 -0
  121. package/scripts/00.chat/session-log/paths/lib.sh +133 -0
  122. package/scripts/00.chat/session-log/prepare-chat-session-before-commit/README.md +90 -0
  123. package/scripts/00.chat/session-log/prepare-chat-session-before-commit/script.sh +145 -0
  124. package/scripts/00.chat/session-log/read-current-chat-log/README.md +44 -0
  125. package/scripts/00.chat/session-log/read-current-chat-log/script.sh +92 -0
  126. package/scripts/00.chat/session-log/read-current-chat-log/smoke-test.sh +127 -0
  127. package/scripts/00.chat/session-log/record-chat-commit/README.md +133 -0
  128. package/scripts/00.chat/session-log/record-chat-commit/script.sh +394 -0
  129. package/scripts/00.chat/session-log/record-chat-commit/smoke-test.sh +227 -0
  130. package/scripts/00.chat/session-log/record-main-refresh-conflict/README.md +34 -0
  131. package/scripts/00.chat/session-log/record-main-refresh-conflict/script.sh +239 -0
  132. package/scripts/00.chat/session-log/rename-current-chat-log-folder/README.md +32 -0
  133. package/scripts/00.chat/session-log/rename-current-chat-log-folder/script.sh +112 -0
  134. package/scripts/00.chat/session-log/update-chat-log/README.md +32 -0
  135. package/scripts/00.chat/session-log/update-chat-log/script.sh +294 -0
  136. package/scripts/00.chat/startup/README.md +37 -0
  137. package/scripts/00.chat/startup/auto-start-missing-session/README.md +113 -0
  138. package/scripts/00.chat/startup/auto-start-missing-session/script.sh +54 -0
  139. package/scripts/00.chat/startup/resolve-current-chat-session/README.md +57 -0
  140. package/scripts/00.chat/startup/resolve-current-chat-session/script.sh +47 -0
  141. package/scripts/00.chat/startup/resolve-current-chat-session/smoke-test.sh +130 -0
  142. package/scripts/00.chat/startup/start-chat-session/README.md +197 -0
  143. package/scripts/00.chat/startup/start-chat-session/script.sh +330 -0
  144. package/scripts/00.chat/startup/start-chat-session/smoke-test.sh +182 -0
  145. package/scripts/00.chat/startup/start-new-chat/README.md +31 -0
  146. package/scripts/00.chat/startup/start-new-chat/script.sh +29 -0
  147. package/scripts/00.chat/transcript/README.md +36 -0
  148. package/scripts/00.chat/transcript/discover-codex-session-log/README.md +32 -0
  149. package/scripts/00.chat/transcript/discover-codex-session-log/script.sh +106 -0
  150. package/scripts/00.chat/transcript/register-codex-session-log/README.md +32 -0
  151. package/scripts/00.chat/transcript/register-codex-session-log/script.sh +115 -0
  152. package/scripts/00.chat/worktree/README.md +32 -0
  153. package/scripts/00.chat/worktree/check-write-location/README.md +87 -0
  154. package/scripts/00.chat/worktree/check-write-location/script.sh +95 -0
  155. package/scripts/00.chat/worktree/dirty-worktree-check/README.md +77 -0
  156. package/scripts/00.chat/worktree/dirty-worktree-check/script.sh +93 -0
  157. package/scripts/00.chat/worktree/ensure-chat-worktree/README.md +33 -0
  158. package/scripts/00.chat/worktree/ensure-chat-worktree/script.sh +132 -0
  159. package/scripts/00.chat/worktree/open-window/README.md +34 -0
  160. package/scripts/00.chat/worktree/open-window/script.sh +131 -0
  161. package/scripts/00.chat/worktree/paths/README.md +32 -0
  162. package/scripts/00.chat/worktree/paths/lib.sh +71 -0
  163. package/scripts/01.harness/artifact-metadata/check-headers/script.sh +522 -0
  164. package/scripts/01.harness/artifact-metadata/check-headers/smoke-test.sh +48 -0
  165. package/scripts/01.harness/check-deterministic-process-drift.sh +416 -0
  166. package/scripts/01.harness/check-governed-script-command-drift.sh +184 -0
  167. package/scripts/01.harness/run-governed-script.sh +178 -0
  168. package/scripts/install.sh +503 -0
  169. package/scripts/uninstall.sh +199 -0
  170. package/tests/smoke-test-install.sh +70 -0
@@ -0,0 +1,131 @@
1
+ <!-- agentic-artifact:
2
+ schema: agentic-artifact/v2
3
+ id: shared.standards.upstream-repo-bootstrap
4
+ version: 1
5
+ status: active
6
+ layer: 06.shared
7
+ domain: bootstrap
8
+ disciplines:
9
+ - agentic
10
+ kind: standard
11
+ purpose: Define the Upstream Repo Bootstrap Standard standard.
12
+ portability:
13
+ class: required
14
+ targets:
15
+ - llm-workbench
16
+ - entity-builder
17
+ - design-system-builder
18
+ used_by:
19
+ - id: repo.agents
20
+ path: AGENTS.md
21
+ -->
22
+
23
+ # Upstream Repo Bootstrap Standard
24
+
25
+ ## Purpose
26
+
27
+ Use this when seeding a reusable upstream repo from a source repo that already
28
+ contains working harness, product, infrastructure, or process artifacts.
29
+
30
+ The standard applies across layers. Layer workflows define the specific
31
+ portable file set for chat, frontend, CRUD factory, AWS CI/CD, or other
32
+ upstream repo types.
33
+
34
+ For public `llm-workbench` bootstrap or sync work, also apply
35
+ `.agentic/00.chat/standards/llm-workbench-public-beta-contract.md`.
36
+
37
+ ## Ownership
38
+
39
+ - The source repo provides working evidence and candidate files.
40
+ - The upstream repo owns reusable behavior after bootstrap.
41
+ - The layer-specific bootstrap workflow owns the portable file set.
42
+ - Source-repo-specific product, deployment, customer, environment, credential,
43
+ path, and session-history details stay out of the upstream repo.
44
+
45
+ ## Required Inspection
46
+
47
+ Before writing to the upstream repo, inspect and record:
48
+
49
+ - source repo absolute path
50
+ - upstream repo absolute path
51
+ - target upstream repo purpose
52
+ - whether the upstream repo is empty or already initialized
53
+ - whether the upstream repo has a valid `HEAD`
54
+ - current branch name, or the intended initial branch for an unborn `HEAD`
55
+ - candidate portable paths
56
+ - deterministic audit output for the layer-specific portable file set, when a
57
+ layer provides one
58
+ - required exclusions
59
+ - source paths that must remain private or source-specific
60
+ - whether any target paths would be overwritten
61
+ - whether the bootstrap creates a minimal usable product surface or only an
62
+ internal file baseline
63
+
64
+ ## Approval Boundaries
65
+
66
+ - Read-only inspection does not approve writes.
67
+ - Writing or overwriting upstream files requires explicit approval.
68
+ - Creating an upstream commit requires explicit approval.
69
+ - Pushing upstream changes requires separate explicit approval.
70
+ - Deleting, moving, or rewriting upstream history requires separate explicit
71
+ approval and a workflow that governs that action.
72
+
73
+ ## Empty Repo Bootstrap
74
+
75
+ For an empty upstream repo with no valid `HEAD`:
76
+
77
+ - establish the initial branch before running workflows that require a current
78
+ branch
79
+ - add starter public files required by the layer workflow
80
+ - create an initial commit before attempting normal chat startup in the
81
+ upstream repo
82
+ - do not push the initial commit without separate explicit approval
83
+
84
+ Do not pre-copy source repo `commitLogs/`. The upstream repo's first chat
85
+ startup creates its own `commitLogs/<date>/<session>/README.md` after the
86
+ initial commit exists.
87
+
88
+ ## Required Exclusions
89
+
90
+ Exclude by default:
91
+
92
+ - `commitLogs/`
93
+ - chat transcripts and local session artifacts
94
+ - source repo product code
95
+ - source repo deployment, cloud, or environment-specific rules
96
+ - credentials, tokens, local profiles, and machine-specific paths
97
+ - customer, tenant, or private business data
98
+ - generated reports unless the layer workflow explicitly defines them as
99
+ reusable source material
100
+
101
+ ## Required Output
102
+
103
+ A bootstrap workflow must produce or record:
104
+
105
+ - source repo and upstream repo paths
106
+ - file set copied or proposed
107
+ - exclusions applied
108
+ - initial branch and initial commit status for empty upstream repos
109
+ - product-shell files created, when the upstream repo is intended for external
110
+ use
111
+ - whether `commitLogs/` was created by a first upstream chat or intentionally
112
+ left absent until then
113
+ - checks run
114
+ - commit status
115
+ - push status
116
+ - follow-up needed before downstream repos can install or sync the upstream
117
+ repo
118
+
119
+ ## Stop Conditions
120
+
121
+ Stop before writing when:
122
+
123
+ - upstream ownership is ambiguous
124
+ - the portable file set is not defined by a layer workflow or deterministic
125
+ audit when the layer provides one
126
+ - target repo contains files that would be overwritten without approval
127
+ - source-specific or private material cannot be cleanly separated
128
+ - an externally usable upstream repo lacks install docs, examples, or smoke
129
+ tests defined by its layer workflow
130
+ - the requested bootstrap would require a copy, commit, push, delete, move, or
131
+ overwrite action not governed by the current workflow
@@ -0,0 +1,35 @@
1
+ <!-- agentic-artifact:
2
+ schema: agentic-artifact/v2
3
+ id: shared.workflows.readme
4
+ version: 1
5
+ status: active
6
+ layer: 06.shared
7
+ domain: process
8
+ disciplines:
9
+ - agentic
10
+ kind: readme
11
+ purpose: Index the active shared process workflows.
12
+ portability:
13
+ class: required
14
+ targets:
15
+ - llm-workbench
16
+ - entity-builder
17
+ - design-system-builder
18
+ used_by:
19
+ - id: repo.agents
20
+ path: AGENTS.md
21
+ - id: chat.migration-plan
22
+ path: .agentic/00.chat/migration-plan.md
23
+ -->
24
+
25
+ # Shared Workflows
26
+
27
+ Shared workflows govern cross-layer process that does not belong to one
28
+ specialized layer. Chat lifecycle ownership belongs in `.agentic/00.chat/`.
29
+
30
+ ## Workflows
31
+
32
+ - `change-shared-process.md` - change cross-layer git, commit, merge, handoff,
33
+ deployment, release, or context-preservation process.
34
+ - `capability-resolution-workflow.md` - propose or resolve capabilities before
35
+ implementation.
@@ -0,0 +1,189 @@
1
+ <!-- agentic-artifact:
2
+ schema: agentic-artifact/v2
3
+ id: shared.workflows.capability-resolution-workflow
4
+ version: 1
5
+ status: active
6
+ layer: 06.shared
7
+ domain: governance
8
+ disciplines:
9
+ - agentic
10
+ kind: workflow
11
+ purpose: Govern the Capability Resolution Workflow workflow.
12
+ portability:
13
+ class: required
14
+ targets:
15
+ - llm-workbench
16
+ - entity-builder
17
+ - design-system-builder
18
+ used_by:
19
+ - id: repo.agents
20
+ path: AGENTS.md
21
+ -->
22
+
23
+ # Capability Resolution Workflow
24
+
25
+ ## Purpose
26
+
27
+ Resolve a user request into the smallest safe execution path for the harness.
28
+
29
+ Capability resolution happens after chat-start session discovery and before any workflow-specific gates are executed.
30
+
31
+ The resolution order is:
32
+
33
+ ```text
34
+ task -> layer -> mode -> workflow -> gates
35
+ ```
36
+
37
+ ## Resolution Fields
38
+
39
+ ### Layer
40
+
41
+ Layer identifies the ownership area affected by the request.
42
+
43
+ Allowed values:
44
+
45
+ - `shared`
46
+ - `chat`
47
+ - `harness`
48
+ - `education`
49
+ - `product`
50
+ - `mixed`
51
+ - `unknown`
52
+
53
+ Use `.agentic/routing-policy.yaml` as the source of truth for layer
54
+ definitions.
55
+
56
+ ### Mode
57
+
58
+ Mode identifies the kind of work the user is asking the agent to perform.
59
+
60
+ Mode is independent of layer. The same mode can apply to chat, shared,
61
+ harness, education, or product work.
62
+
63
+ Allowed values:
64
+
65
+ - `discovery`
66
+ - `planning`
67
+ - `execution`
68
+ - `implementation`
69
+ - `unknown`
70
+
71
+ ## Mode Definitions
72
+
73
+ ### discovery
74
+
75
+ Use when the user wants explanation, discussion, brainstorming, conceptual guidance, or read-only inspection of files, logs, repository state, runtime state, or configuration.
76
+
77
+ Default action: read-only response or inspection.
78
+
79
+ ### planning
80
+
81
+ Use when the user wants a proposal, architecture, implementation plan, migration plan, or ordered change list.
82
+
83
+ Default action: read-only planning.
84
+
85
+ ### execution
86
+
87
+ Use when the user wants the agent to use an existing capability, workflow, gate, script, tool, or documented process without changing or adding capabilities.
88
+
89
+ Default action: follow the selected workflow's gates before running the existing capability.
90
+
91
+ ### implementation
92
+
93
+ Use when the user wants the agent to create, edit, move, delete, format, or otherwise modify files, or add/change capabilities, workflows, gates, scripts, tools, documentation, or process rules.
94
+
95
+ Default action: require explicit write permission for the current chat before editing.
96
+
97
+ ### unknown
98
+
99
+ Use when the mode cannot be resolved with enough confidence.
100
+
101
+ Default action: stop and ask one clarifying question before selecting a workflow or editing files.
102
+
103
+ ## Workflow Selection
104
+
105
+ Select a workflow only after both layer and mode are known.
106
+
107
+ Workflow selection must respect both dimensions:
108
+
109
+ - Layer determines ownership.
110
+ - Mode determines posture and permissions.
111
+
112
+ Examples:
113
+
114
+ ```text
115
+ Layer: harness
116
+ Mode: planning
117
+ Workflow: upstream llm-workbench harness-maintenance process
118
+ ```
119
+
120
+ ```text
121
+ Layer: chat
122
+ Mode: implementation
123
+ Workflow: .agentic/00.chat/workflows/chat-refresh-from-main.md
124
+ ```
125
+
126
+ ```text
127
+ Layer: product
128
+ Mode: implementation
129
+ Workflow: .agentic/product/workflows/default.md
130
+ ```
131
+
132
+ ## Gates
133
+
134
+ Gates run after workflow selection and before action.
135
+
136
+ At minimum:
137
+
138
+ - `execution` must use an existing capability, workflow, gate, script, tool, or documented process. If the capability must be created or changed first, treat the request as `implementation`.
139
+ - `implementation` requires explicit write permission for the current chat.
140
+ - `unknown` must not proceed to edits or commands that mutate state.
141
+ - If a required action, recovery path, workaround, or substitution is not
142
+ governed by the selected workflow, gate, script, or standard, stop and report
143
+ the missing governance gap before acting.
144
+
145
+ Workflows may define stricter gates.
146
+
147
+ ## Ambiguity
148
+
149
+ Stop if any of these are ambiguous:
150
+
151
+ - layer
152
+ - mode
153
+ - workflow
154
+ - required permissions
155
+ - whether a requested action mutates state
156
+
157
+ Ask exactly one clarifying question, then resume resolution from the earliest ambiguous field.
158
+
159
+ If a request contains more than one mode, split it into ordered phases and resolve each phase separately.
160
+
161
+ Example:
162
+
163
+ ```text
164
+ Phase 1: discovery
165
+ Phase 2: implementation
166
+ ```
167
+
168
+ ## Prompt Routing Fixtures
169
+
170
+ Prompt-level routing examples belong to the repo's context router when one
171
+ exists. Use that router's fixtures and context-packet checks when prompt
172
+ routing behavior changes.
173
+
174
+ Add or update routing fixtures when:
175
+
176
+ - prompt routing behavior surprises the user or agent
177
+ - a prompt selector bug is fixed
178
+ - a new layer or mode concept is introduced
179
+ - routing rules are changed and existing behavior should be preserved
180
+
181
+ ## Session Metadata
182
+
183
+ Chat session metadata records lifecycle continuity: session log, branch,
184
+ worktree, transcript metrics, and latest context-packet references.
185
+
186
+ Do not write durable chat-session `layer`, `mode`, or `workflow` fields. When a
187
+ prompt needs those values, resolve them for the current prompt through this
188
+ repo's assistant instructions and any repo-provided context router, then retain
189
+ the packet reference as continuity evidence if a router returns one.
@@ -0,0 +1,92 @@
1
+ <!-- agentic-artifact:
2
+ schema: agentic-artifact/v2
3
+ id: shared.workflows.change-shared-process
4
+ version: 1
5
+ status: active
6
+ layer: 06.shared
7
+ domain: process
8
+ disciplines:
9
+ - agentic
10
+ kind: workflow
11
+ purpose: Govern changes to cross-layer shared process.
12
+ portability:
13
+ class: required
14
+ targets:
15
+ - llm-workbench
16
+ - entity-builder
17
+ - design-system-builder
18
+ used_by:
19
+ - id: repo.agents
20
+ path: AGENTS.md
21
+ -->
22
+
23
+ # Change Shared Process Workflow
24
+
25
+ ## Use When
26
+
27
+ Use this when a request changes cross-layer git, commit, merge, handoff,
28
+ deployment, release, or context-preservation process.
29
+
30
+ Chat lifecycle changes belong to `.agentic/00.chat/`.
31
+
32
+ ## Required Gates
33
+
34
+ Before editing files:
35
+
36
+ ```bash
37
+ bash scripts/00.chat/worktree/dirty-worktree-check/script.sh --allow-session-bookkeeping
38
+ ```
39
+
40
+ `bookkeeping-only` is acceptable after explicit write permission for the chat.
41
+ <!-- deterministic-check: allow reason="workflow defines exact blocked response around dirty-worktree gate output" -->
42
+ If dirty, respond exactly:
43
+
44
+ ```txt
45
+ Blocked: dirty worktree. Confirm proceed? Layer: shared. Mode: <mode>. Workflow: .agentic/shared/workflows/change-shared-process.md
46
+ ```
47
+
48
+ Do not edit files while blocked.
49
+
50
+ ## Rules
51
+
52
+ - Use the current branch session log as the first source of truth.
53
+ - Keep `AGENTS.md` as a router; put procedure in shared workflows, checklists,
54
+ gates, or scripts.
55
+ - Prefer deterministic scripts for repeatable checks.
56
+ - Do not create a task commit, push, delete branches, rewrite history, discard
57
+ work, overwrite work, or perform destructive actions without explicit user
58
+ approval.
59
+ - Chat task work must run in the chat-owned worktree recorded in the current
60
+ session log. The root worktree is the local integration console and must not
61
+ receive task edits, staging, formatting, or commits.
62
+ - After explicit write permission for the chat, routine session bookkeeping may
63
+ be staged without another prompt when limited to the current chat session log.
64
+ - Preserve unrelated user changes in a dirty worktree.
65
+ - Before any commit, complete `.agentic/00.chat/checklists/before-commit.md`.
66
+
67
+ ## Chat Harness Delegation
68
+
69
+ Shared-process changes still run inside the chat harness. Before writing, run:
70
+
71
+ ```bash
72
+ bash scripts/00.chat/worktree/check-write-location/script.sh
73
+ ```
74
+
75
+ <!-- deterministic-check: allow reason="ensure-chat-worktree enforces worktree creation and verification; workflow states when agents should invoke it" -->
76
+ If a session log exists but its worktree is missing, recreate or verify it with:
77
+
78
+ ```bash
79
+ bash scripts/01.harness/run-governed-script.sh --approved-action scripts/00.chat/worktree/ensure-chat-worktree/script.sh <session-log>
80
+ ```
81
+
82
+ The chat-owned worktree has its own files and index. Stage only approved
83
+ repository-relative paths inside that worktree. The root worktree remains the
84
+ local convergence console.
85
+
86
+ Do not duplicate chat lifecycle, commit recording, transcript metrics,
87
+ bookkeeping checkpoint, or commit-log deletion rules here. Use the canonical
88
+ before-commit checklist for those gates:
89
+
90
+ ```
91
+ .agentic/00.chat/checklists/before-commit.md
92
+ ```
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Use the llm-workbench chat harness
3
+ alwaysApply: true
4
+ ---
5
+
6
+ At the start of a chat, follow `.agentic/00.chat/workflows/chat-start.md`.
7
+ Use the current branch's `commitLogs/<session>/README.md` as the first source
8
+ of truth for chat lifecycle, branch, worktree, context-packet references,
9
+ commits, and metrics.
10
+
11
+ Do not assign the whole chat a durable layer, mode, or workflow. When a prompt
12
+ needs layer, mode, workflow, corpus, or rule context, use the current user
13
+ request, this repo's assistant instructions, and any repo-provided context
14
+ router if one exists.
15
+
16
+ Default mode after governed chat-start bootstrap is read-only until the user
17
+ explicitly grants write permission for task files.
@@ -0,0 +1,16 @@
1
+ # Copilot Instructions
2
+
3
+ This repo uses the `llm-workbench` chat harness.
4
+
5
+ At the start of a chat, follow `.agentic/00.chat/workflows/chat-start.md`.
6
+ Use the current branch's `commitLogs/<session>/README.md` as the first source
7
+ of truth for chat lifecycle, branch, worktree, context-packet references,
8
+ commits, and metrics.
9
+
10
+ Do not assign the whole chat a durable layer, mode, or workflow. When a prompt
11
+ needs layer, mode, workflow, corpus, or rule context, use the current user
12
+ request, this repo's assistant instructions, and any repo-provided context
13
+ router if one exists.
14
+
15
+ Do not push, rewrite history, discard work, or overwrite work without explicit
16
+ human approval.
package/AGENTS.md ADDED
@@ -0,0 +1,63 @@
1
+ # AGENTS.md
2
+
3
+ ## Purpose
4
+
5
+ This repo is governed by the llm-workbench chat harness. Keep this file small.
6
+ Do not add project-specific or procedural rules here.
7
+
8
+ ## Before Acting
9
+
10
+ 0. Skip steps 1-7 if the user starts a chat with `ignore chat start`.
11
+ 1. Follow `.agentic/00.chat/workflows/chat-start.md`.
12
+ 2. Use the current branch's `commitLogs/<session>/README.md` session metadata
13
+ as the first source of truth for chat lifecycle, branch, worktree, latest
14
+ context packet references, commits, and metrics.
15
+ 3. Do not assign the whole chat a durable layer, mode, or workflow. Use the
16
+ current user request, this repo's assistant instructions, and any
17
+ repo-provided context router if one exists when a prompt needs layer, mode,
18
+ workflow, corpus, or rule context.
19
+ 4. Use `chat_lifecycle_workflow` for chat startup/session lifecycle gates; use
20
+ the latest context packet only as continuity evidence for future prompt-level
21
+ context queries.
22
+ 5. Follow the applicable chat lifecycle gate and any prompt-level context-router
23
+ packet checks before editing files.
24
+ 6. Stop when repo state, branch state, task ownership, prompt-level routing,
25
+ chat lifecycle state, or governance coverage is ambiguous or absent.
26
+ 7. Missing governance is a stop condition. If a required action, recovery path,
27
+ workaround, or substitution is not governed by the current workflow, gate,
28
+ script, or standard, stop before acting.
29
+ 8. Follow shared approval rules before commits or destructive actions; never
30
+ push, delete branches, rewrite history, discard work, or overwrite work
31
+ without explicit user approval.
32
+ 9. Default mode is read-only after governed chat-start bootstrap. The
33
+ chat-start workflow may create or verify the chat branch, worktree, and
34
+ session log from the opening prompt without separate permission unless the
35
+ prompt starts with `ignore chat start`. Do not create, edit, move, delete,
36
+ stage, commit, or format task files unless the user explicitly grants write
37
+ permission for this chat.
38
+
39
+ ## Operating Layers
40
+
41
+ * `.agentic/00.chat/` governs chat lifecycle, including chat sessions, chat
42
+ worktrees, session logs, chat refresh, closeout, cleanup, shortcuts,
43
+ reporting, and upstream reusable lessons.
44
+ * `.agentic/shared/` governs cross-layer process primitives, including git
45
+ approval rules, handoff, context compaction, and upstream repo bootstrap
46
+ standards.
47
+ * Workbench maintenance belongs upstream in `llm-workbench`; target repos should
48
+ promote reusable harness lessons upstream instead of editing the harness in
49
+ place.
50
+
51
+ ## Source Of Truth
52
+
53
+ * Session state: current branch's `commitLogs/<session>/README.md`
54
+ * Chat lifecycle process: `.agentic/00.chat/`
55
+ * Shared operating process: `.agentic/shared/`
56
+ * Executable checks: `scripts/`
57
+ * Human documentation: `docs/`
58
+ * Commit/task logs: `commitLogs/`
59
+
60
+ ## Size Rule
61
+
62
+ Keep `AGENTS.md` short. If a rule only applies to a specific workflow,
63
+ checklist, standard, script, or install path, move it into that artifact.
package/CLAUDE.md ADDED
@@ -0,0 +1,16 @@
1
+ # CLAUDE.md
2
+
3
+ This repo uses the `llm-workbench` chat harness.
4
+
5
+ At the start of a chat, follow `.agentic/00.chat/workflows/chat-start.md`.
6
+ Use the current branch's `commitLogs/<session>/README.md` as the first source
7
+ of truth for chat lifecycle, branch, worktree, context-packet references,
8
+ commits, and metrics.
9
+
10
+ Do not assign the whole chat a durable layer, mode, or workflow. When a prompt
11
+ needs layer, mode, workflow, corpus, or rule context, use the current user
12
+ request, this repo's assistant instructions, and any repo-provided context
13
+ router if one exists.
14
+
15
+ Default mode after governed chat-start bootstrap is read-only until the user
16
+ explicitly grants write permission for task files.
@@ -0,0 +1,57 @@
1
+ # Contributing
2
+
3
+ Thanks for taking an interest in `llm-workbench`.
4
+
5
+ This repo is a portable chat harness for governed agentic development. The
6
+ main goal is to make chat startup, worktree use, commit gates, refreshes, and
7
+ reusable lesson promotion repeatable enough that another engineer can install
8
+ the harness into their own Git repo and understand what will happen.
9
+
10
+ ## Good First Contributions
11
+
12
+ Good early contributions are usually small and inspectable:
13
+
14
+ - clearer onboarding docs
15
+ - safer install or uninstall behavior
16
+ - better smoke tests
17
+ - clearer names for scripts, workflows, or concepts
18
+ - fixes where a documented command no longer matches the script it describes
19
+
20
+ Avoid broad rewrites unless there is an issue or discussion that explains the
21
+ new shape. The harness is intentionally explicit, so small changes are easier
22
+ to review and safer for downstream repos.
23
+
24
+ ## Before Changing Harness Behavior
25
+
26
+ If a change affects chat startup, branch/worktree handling, commit gates,
27
+ refresh from `main`, local merge readiness, install/uninstall, or reusable
28
+ lesson promotion, update the relevant docs and tests in the same change.
29
+
30
+ At minimum, check:
31
+
32
+ ```bash
33
+ npm run test:install
34
+ bash tests/smoke-test-cli.sh
35
+ ```
36
+
37
+ If you add or move a script, keep its nearby README current. The README should
38
+ teach a new reader what the script does, when it runs, what it writes, and what
39
+ approval boundaries it respects.
40
+
41
+ ## Pull Requests
42
+
43
+ Please include:
44
+
45
+ - what changed
46
+ - why it changed
47
+ - how you tested it
48
+ - any behavior that downstream repos should notice
49
+
50
+ Do not include private repo paths, local transcripts, API keys, customer data,
51
+ or project-specific secrets in issues or pull requests.
52
+
53
+ ## Style
54
+
55
+ Prefer plain Bash and Markdown unless a stronger reason exists. Keep public
56
+ docs educational: assume the reader is new to this harness and explain the
57
+ purpose of each moving part before asking them to rely on it.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Gordon Rose
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,17 @@
1
+ # LLM Workbench Instructions
2
+
3
+ This generic adapter is for CLI agents and assistants without a native
4
+ repository-instruction filename, including Mistral-backed tools.
5
+
6
+ At the start of a chat, follow `.agentic/00.chat/workflows/chat-start.md`.
7
+ Use the current branch's `commitLogs/<session>/README.md` as the first source
8
+ of truth for chat lifecycle, branch, worktree, context-packet references,
9
+ commits, and metrics.
10
+
11
+ Do not assign the whole chat a durable layer, mode, or workflow. When a prompt
12
+ needs layer, mode, workflow, corpus, or rule context, use the current user
13
+ request, this repo's assistant instructions, and any repo-provided context
14
+ router if one exists.
15
+
16
+ Default mode after governed chat-start bootstrap is read-only until the user
17
+ explicitly grants write permission for task files.