@donghyeonlee/jjamppong-harness 0.1.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 (62) hide show
  1. package/AGENTS.md +77 -0
  2. package/CONTEXT.md +51 -0
  3. package/README.md +85 -0
  4. package/bin/jjamppong.js +123 -0
  5. package/handoff.md +13 -0
  6. package/harness/contracts/capability-catalog.yaml +128 -0
  7. package/harness/contracts/gate-contract-matrix.yaml +188 -0
  8. package/harness/contracts/installer-contract.yaml +79 -0
  9. package/harness/contracts/ledger-event.schema.yaml +79 -0
  10. package/harness/contracts/path-policy.schema.yaml +51 -0
  11. package/harness/contracts/permission-decision.schema.yaml +95 -0
  12. package/harness/contracts/task.schema.yaml +88 -0
  13. package/harness/docs/adr/.gitkeep +1 -0
  14. package/harness/docs/adr/2026-06-02-jjamppong-planning-gate.md +33 -0
  15. package/harness/docs/agents/domain.md +14 -0
  16. package/harness/docs/agents/issue-tracker.md +9 -0
  17. package/harness/docs/agents/matt-pocock-skills.md +60 -0
  18. package/harness/docs/agents/triage-labels.md +11 -0
  19. package/harness/docs/solutions/.gitkeep +1 -0
  20. package/harness/docs/tasks/active/.gitkeep +1 -0
  21. package/harness/docs/tasks/archive/.gitkeep +1 -0
  22. package/harness/docs/tasks/archive/index.md +5 -0
  23. package/harness/docs/tasks/index.md +13 -0
  24. package/harness/doctor/doctor.js +114 -0
  25. package/harness/installer/install.js +235 -0
  26. package/harness/lifecycle/lifecycle.js +133 -0
  27. package/harness/permission/permission-decision.js +377 -0
  28. package/harness/release/CHECKSUMS.sha256 +84 -0
  29. package/harness/release/RELEASE-NOTES.md +33 -0
  30. package/harness/release/SOURCE-MANIFEST.md +31 -0
  31. package/harness/rules/module-types.md +98 -0
  32. package/harness/rules/rules.md +220 -0
  33. package/harness/rules/workflow.md +252 -0
  34. package/harness/state/compound.md +7 -0
  35. package/harness/state/intake.md +11 -0
  36. package/harness/state/module-structure.md +13 -0
  37. package/harness/state/planning.md +21 -0
  38. package/harness/templates/module/module-state.md +13 -0
  39. package/harness/templates/task/archive-summary.md +19 -0
  40. package/harness/templates/task/events.jsonl.template +1 -0
  41. package/harness/templates/task/gate-ledger.md +21 -0
  42. package/harness/templates/task/implementation-approval.md +11 -0
  43. package/harness/templates/task/planning/00-current-planning-context.md +3 -0
  44. package/harness/templates/task/planning/01-grill-summary.md +3 -0
  45. package/harness/templates/task/planning/02-research-summary.md +3 -0
  46. package/harness/templates/task/planning/02b-compound-lookup.md +3 -0
  47. package/harness/templates/task/planning/02c-architecture-orientation.md +3 -0
  48. package/harness/templates/task/planning/03-prd.md +3 -0
  49. package/harness/templates/task/planning/04-issues.md +3 -0
  50. package/harness/templates/task/planning/05-module-structure.md +3 -0
  51. package/harness/templates/task/planning/06-writing-plan.md +3 -0
  52. package/harness/templates/task/planning/07-plan-review.md +3 -0
  53. package/harness/templates/task/planning-pack.md +23 -0
  54. package/harness/templates/task/task.yaml +10 -0
  55. package/harness/templates/task/verification.md +12 -0
  56. package/harness/verify/verify.js +271 -0
  57. package/module-template/MODULE.md +25 -0
  58. package/module-template/README.md +9 -0
  59. package/modules/.gitkeep +0 -0
  60. package/package.json +40 -0
  61. package/proposals/README.md +16 -0
  62. package/scripts/install-jjamppong-harness.ps1 +62 -0
@@ -0,0 +1,220 @@
1
+ # Harness Rules
2
+
3
+ This file is a projection of FINAL-PLAN and the machine-readable contracts.
4
+
5
+ The permission source of truth is:
6
+
7
+ ```text
8
+ 1. FINAL-PLAN.md in the build pack, while rebuilding this template
9
+ 2. harness/contracts/*.yaml
10
+ 3. active task events.jsonl
11
+ 4. PermissionDecision output
12
+ ```
13
+
14
+ `AGENTS.md`, this file, `workflow.md`, `gate-ledger.md`, and `task.yaml` may restrict behavior further, but they must not grant permission beyond the contracts and canonical events.
15
+
16
+ ## Hard Defaults
17
+
18
+ - Missing capability: deny.
19
+ - Ambiguous scope: deny.
20
+ - Short approval expansion: deny.
21
+ - Secrets: deny.
22
+ - Live target access: deny until explicit capability approval.
23
+ - Package install: deny until explicit capability approval.
24
+ - Git commit/push: deny until separate git approvals.
25
+ - Harness-core writes in product tasks: deny; create proposal instead.
26
+ - Parallel active write: deny until explicit parallel approval.
27
+
28
+ ## Artifact Language Policy
29
+
30
+ Human-facing artifacts use the user's language.
31
+
32
+ Static templates may use Korean starter copy. This phase does not add lifecycle-level localization. Agents write live human-facing artifacts in the current user's language when presenting or updating them.
33
+
34
+ Machine-readable artifacts keep stable schema keys.
35
+
36
+ `events.jsonl`, `task.yaml`, contracts, and PermissionDecision outputs keep stable machine-readable keys.
37
+
38
+ events.jsonl, task.yaml, contracts, and PermissionDecision outputs keep stable machine-readable keys.
39
+
40
+ `gate-ledger.md`, planning artifacts, `archive-summary.md`, `verification.md`, and `handoff.md` are human-facing.
41
+
42
+ gate-ledger.md, planning artifacts, archive-summary.md, verification.md, and handoff.md are human-facing.
43
+
44
+ ## Required Reads For Substantive Work
45
+
46
+ Read these before any substantive write:
47
+
48
+ ```text
49
+ harness/contracts/gate-contract-matrix.yaml
50
+ harness/contracts/capability-catalog.yaml
51
+ harness/contracts/task.schema.yaml
52
+ harness/contracts/permission-decision.schema.yaml
53
+ harness/rules/workflow.md
54
+ harness/state/planning.md
55
+ active task events.jsonl, if one exists
56
+ active task task.yaml, if one exists
57
+ ```
58
+
59
+ If required files are missing or contradictory, stop and run verify/doctor.
60
+
61
+ ## Red Lines
62
+
63
+ Stop immediately if a step would require:
64
+
65
+ ```text
66
+ README-first rewrite
67
+ AGENTS-first rewrite
68
+ old v1-v13 source-history as active instruction over FINAL-PLAN
69
+ project file read before grill in product planning
70
+ install-to-planning continuation
71
+ docs-first route
72
+ plan_review completed as implementation approval
73
+ module_structure creating folders
74
+ folder_skeleton creating code/tests/fixtures/runtime config
75
+ "์ข‹์•„" as broad approval
76
+ product code outside modules without exact outside_modules_write approval
77
+ harness-core edit in product task
78
+ live target access without network.live_target approval
79
+ secret read
80
+ package install without package.install approval
81
+ git commit/push without separate approval
82
+ doctor/update live-editing core rules by default
83
+ ```
84
+
85
+ ## PermissionDecision Preflight
86
+
87
+ Before risky actions, run or reason through PermissionDecision.
88
+
89
+ Risky actions include file read/write/delete/move/symlink, command exec, tests/builds, network, package operations, git operations, installer/update/repair, harness-core changes, and parallel writes.
90
+
91
+ The decision must name:
92
+
93
+ ```text
94
+ requested action
95
+ capability
96
+ allow/deny/block/proposal_required
97
+ reason
98
+ matched event ids
99
+ paths or targets covered
100
+ required next action
101
+ ```
102
+
103
+ If the decision is not `allow`, do not perform the action.
104
+
105
+ ## Event Log And Projections
106
+
107
+ Canonical task state lives in:
108
+
109
+ ```text
110
+ harness/docs/tasks/active/<slug>/events.jsonl
111
+ ```
112
+
113
+ Derived projections:
114
+
115
+ ```text
116
+ gate-ledger.md = human-readable projection
117
+ task.yaml = compact cache
118
+ planning-pack.md = final decision manifest
119
+ ```
120
+
121
+ If `task.yaml` or `gate-ledger.md` says something is approved but `events.jsonl` does not contain the approval, verification fails and the gate stays locked.
122
+
123
+ Doctor may regenerate projections from canonical events, but it must not invent approvals.
124
+
125
+ ## Gate Question Format
126
+
127
+ Every gate question must state:
128
+
129
+ - Gate id
130
+ - Approval scope
131
+ - Artifact or decision being approved
132
+ - Capabilities being allowed
133
+ - Paths or targets being covered
134
+ - This unlocks
135
+ - This remains locked
136
+ - Deferred unknowns requiring separate approval
137
+
138
+ If the question omits these fields, a short affirmative answer must not open the gate.
139
+
140
+ Ask in the user's language. If the user writes Korean, ask in Korean and briefly explain technical labels in plain language.
141
+
142
+ ## Workflow Boundaries
143
+
144
+ `install` stops after install and verify.
145
+
146
+ `grill` comes before project reads.
147
+
148
+ `research` comes after grill and may use general web research, not live target access.
149
+
150
+ `evidence_check` is a legacy alias for `research` only. Prefer `research` or Korean `์ž๋ฃŒ์กฐ์‚ฌ` in user-facing gates.
151
+
152
+ `prd` comes after grill/research.
153
+
154
+ `issues` comes after approved PRD.
155
+
156
+ `module_structure` does not create folders.
157
+
158
+ Plain rule: module_structure does not create folders.
159
+
160
+ `folder_skeleton` does not create executable files.
161
+
162
+ Plain rule: folder_skeleton does not create executable files.
163
+
164
+ `plan_review` does not unlock implementation.
165
+
166
+ Plain rule: plan_review does not unlock implementation.
167
+
168
+ `implementation` records exact-scope capability approval.
169
+
170
+ `work` uses only approved capabilities and paths.
171
+
172
+ `verification` does not create new feature scope.
173
+
174
+ `archive` requires archive-summary.
175
+
176
+ ## Module Boundaries
177
+
178
+ Product code belongs under:
179
+
180
+ ```text
181
+ modules/<module>/**
182
+ ```
183
+
184
+ Writes outside `modules/` require exact `file.write.outside_modules` approval with specific paths and reason.
185
+
186
+ `module_bootstrap` and `product_feature` are separate task types. Bootstrap creates the workspace only; feature work starts as a new task after bootstrap is verified and archived.
187
+
188
+ ## Installer / Update / Doctor
189
+
190
+ Installer must create the harness directly under the target root and write `harness.lock.yaml`.
191
+
192
+ Installer must not create nested template folders, planning artifacts, product code, GitHub repos, commits, or pushes.
193
+
194
+ `verify` is read-only pass/fail.
195
+
196
+ `doctor` is read-only diagnosis by default.
197
+
198
+ `doctor --proposal`, `update`, and `repair` create proposals by default when managed files changed. They must not live-edit harness-core rules without explicit approval.
199
+
200
+ ## Archive And Handoff
201
+
202
+ Archive is cold context. Read indexes and summaries before detailed archived artifacts.
203
+
204
+ Root `handoff.md` is updated only when the user asks for handoff or new-chat transfer.
205
+
206
+ ## Handoff Response
207
+
208
+ Root `handoff.md` is updated only when the user asks for handoff or new-chat transfer.
209
+
210
+ When creating handoff.md, do not embed the restart prompt in the file by default.
211
+
212
+ After creating handoff.md, return a copy-paste next-chat prompt in the chat response.
213
+
214
+ Use this Korean prompt when the user is working in Korean:
215
+
216
+ ```text
217
+ handoff.md ๋ณด๊ณ  ์ด์–ด์„œ ์ง„ํ–‰ํ•ด์ค˜.
218
+ ๋จผ์ € AGENTS.md, harness/rules/workflow.md, ํ˜„์žฌ active task์˜ task.yaml/events.jsonl์„ ํ™•์ธํ•ด์ค˜.
219
+ ํ˜„์žฌ gate ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ ๋’ค, ๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜์ง€ ๋ง๊ณ  ํ•„์š”ํ•œ ๋‹ค์Œ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์ด์–ด์„œ ์ง„ํ–‰ํ•ด์ค˜.
220
+ ```
@@ -0,0 +1,252 @@
1
+ # Workflow
2
+
3
+ This file is a human-readable projection of:
4
+
5
+ ```text
6
+ harness/contracts/gate-contract-matrix.yaml
7
+ harness/contracts/capability-catalog.yaml
8
+ harness/contracts/task.schema.yaml
9
+ ```
10
+
11
+ If this file conflicts with the contracts, the contracts win.
12
+
13
+ ## User-Facing Flow
14
+
15
+ Explain the workflow to users in simple Korean when they write in Korean.
16
+
17
+ ```text
18
+ 1. ์„ค์น˜๋งŒ ํ•˜๊ธฐ
19
+ 2. ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒƒ ์งˆ๋ฌธํ•˜๊ธฐ
20
+ 3. ์ž๋ฃŒ์กฐ์‚ฌํ•˜๊ธฐ
21
+ 4. ๊ธฐํš/์ด์Šˆ/๊ตฌ์กฐ/๊ณ„ํš ์„ธ์šฐ๊ธฐ
22
+ 5. ์ง„์งœ ์ž‘์—… ๋ฒ”์œ„ ์Šน์ธ๋ฐ›๊ธฐ
23
+ 6. ์Šน์ธ๋œ ๋ฒ”์œ„๋งŒ ์ž‘์—…ํ•˜๊ธฐ
24
+ 7. ๊ฒ€์ฆํ•˜๊ณ  ์‚ฌ์šฉ์ž ํ™•์ธ๋ฐ›๊ธฐ
25
+ 8. ๋ฐฐ์šด ์  ์ •๋ฆฌํ•˜๊ณ  ๋ณด๊ด€ํ•˜๊ธฐ
26
+ ```
27
+
28
+ Do not show every internal gate first. Show the simple label and the internal gate id when asking for approval.
29
+
30
+ ## Artifact Language Policy
31
+
32
+ Human-facing artifacts use the user's language.
33
+
34
+ Human-facing artifacts include `gate-ledger.md`, planning artifacts, `archive-summary.md`, `verification.md`, and `handoff.md`.
35
+
36
+ gate-ledger.md, planning artifacts, archive-summary.md, verification.md, and handoff.md are human-facing.
37
+
38
+ Static templates may use Korean starter copy. This phase does not add lifecycle-level localization. When an agent presents or updates live human-facing artifacts, the agent writes them in the current user's language.
39
+
40
+ Agents write live human-facing artifacts in the current user's language.
41
+
42
+ Machine-readable artifacts keep stable schema keys.
43
+
44
+ Machine-readable artifacts include `events.jsonl`, `task.yaml`, contracts, and PermissionDecision outputs. events.jsonl, task.yaml, contracts, and PermissionDecision outputs keep stable machine-readable keys.
45
+
46
+ ## Canonical Gate Order
47
+
48
+ ```text
49
+ install
50
+ -> intake
51
+ -> grill
52
+ -> research
53
+ -> compound_lookup
54
+ -> architecture_orientation
55
+ -> prd
56
+ -> issues
57
+ -> module_structure
58
+ -> compile_current_planning_context
59
+ -> writing_plan
60
+ -> plan_review
61
+ -> folder_skeleton, if needed
62
+ -> implementation
63
+ -> work
64
+ -> verification
65
+ -> acceptance
66
+ -> compound_capture
67
+ -> compound_review
68
+ -> proposal, if needed
69
+ -> archive
70
+ -> handoff, only if requested
71
+ ```
72
+
73
+ `research` is canonical. `evidence_check` is a legacy alias only.
74
+
75
+ ## Install Gate
76
+
77
+ Install means install and verify, then stop.
78
+
79
+ Install must not start planning, create active product tasks, create modules, create code/tests/fixtures, access live targets, install packages beyond the installer itself, create GitHub repos, commit, or push.
80
+
81
+ The installed project root must contain:
82
+
83
+ ```text
84
+ AGENTS.md
85
+ README.md
86
+ CONTEXT.md
87
+ handoff.md
88
+ harness/
89
+ modules/
90
+ module-template/
91
+ proposals/
92
+ harness.lock.yaml
93
+ ```
94
+
95
+ Nested `jjamppong-harness/` or `ourosuper-harness/` install results are invalid.
96
+
97
+ ## Grill Before Read
98
+
99
+ Product/task planning starts with `grill`.
100
+
101
+ Before `grill`, do not scan existing project files, old docs, source history, candidate lists, or prior implementation folders as if they were user intent.
102
+
103
+ After `grill`, `research` may read approved project evidence and general web research. General web research does not authorize live target access.
104
+
105
+ ## Planning Gates
106
+
107
+ PRD comes after `grill` and `research`.
108
+
109
+ `issues` comes after approved PRD.
110
+
111
+ `module_structure` comes after PRD/issues and organizes implementation. It does not create folders.
112
+
113
+ `writing_plan` reads `planning/00-current-planning-context.md` and the approved planning artifacts. It does not read every raw log by default.
114
+
115
+ `plan_review` reviews the plan.
116
+
117
+ Important:
118
+
119
+ ```text
120
+ plan_review completed != implementation approved
121
+ ```
122
+
123
+ Plan review completion only opens the implementation approval question.
124
+
125
+ ## Folder Skeleton
126
+
127
+ `folder_skeleton` is a separate gate.
128
+
129
+ It may create approved empty folders, `.gitkeep`, and approved non-executable placeholder docs.
130
+
131
+ It must not create source code, tests, fixtures, runtime config, dependency manifests, package files, crawlers, extractors, evaluators, live access code, or git operations.
132
+
133
+ ## Implementation And Work
134
+
135
+ `implementation` records the exact-scope approval.
136
+
137
+ `work` performs only actions allowed by PermissionDecision.
138
+
139
+ Every risky action needs a capability:
140
+
141
+ ```text
142
+ file.read.project
143
+ file.read.archive
144
+ file.read.raw_artifact
145
+ file.read.secret
146
+ file.write.task_artifact
147
+ file.write.folder_skeleton
148
+ file.write.module
149
+ file.write.outside_modules
150
+ file.write.harness_core
151
+ file.delete
152
+ file.move
153
+ file.symlink
154
+ exec.readonly_info
155
+ exec.test
156
+ exec.build
157
+ exec.mutating
158
+ exec.destructive
159
+ exec.networked
160
+ network.web_research
161
+ network.live_target
162
+ network.package_registry
163
+ network.authenticated
164
+ package.install
165
+ package.update
166
+ git.commit
167
+ git.push
168
+ git.remote_change
169
+ installer.install
170
+ installer.update
171
+ installer.repair
172
+ installer.rollback
173
+ harness.core_change
174
+ project.policy_change
175
+ parallel.write
176
+ ```
177
+
178
+ Missing or ambiguous capability defaults to deny.
179
+
180
+ ## Approval Rule
181
+
182
+ Approval is a relationship, not a word list.
183
+
184
+ A short affirmation such as "์ข‹์•„" approves only the exact scope in the immediately preceding explicit gate question.
185
+
186
+ It never adds code, tests, fixtures, live target access, package install, git commit, git push, outside module writes, or harness-core changes unless those were explicitly named as allowed in that question.
187
+
188
+ Approval evidence must be recorded in:
189
+
190
+ ```text
191
+ events.jsonl
192
+ ```
193
+
194
+ `gate-ledger.md` is only a human-readable projection.
195
+
196
+ `task.yaml` is only a derived cache.
197
+
198
+ If projections disagree with `events.jsonl`, verification fails and `events.jsonl` wins.
199
+
200
+ ## Approval Invalidation
201
+
202
+ Downstream approvals are invalidated when scope changes:
203
+
204
+ ```text
205
+ PRD goal/success criteria/excluded scope
206
+ issue set
207
+ module path or boundary
208
+ writing_plan target files
209
+ target path or glob
210
+ live/package/git/secret/outside_modules requirement
211
+ new user restriction
212
+ source artifact hash mismatch
213
+ harness core rule changes
214
+ ```
215
+
216
+ When uncertain, fail closed and ask a narrower gate question.
217
+
218
+ ## Task Types
219
+
220
+ Task type must be explicit in `task.yaml` and `events.jsonl`.
221
+
222
+ ```text
223
+ install
224
+ module_bootstrap
225
+ product_feature
226
+ product_bugfix
227
+ template_maintenance
228
+ project_policy_change
229
+ harness_update
230
+ knowledge_maintenance
231
+ archive_maintenance
232
+ ```
233
+
234
+ `module_bootstrap` creates a module/workspace only. It must not create product source code, tests, fixtures, executable config, dependency manifests, live access, package install, commit, or push.
235
+
236
+ After module bootstrap is verified and archived, actual feature work starts as a new product task with `grill` again.
237
+
238
+ ## Verification, Acceptance, Archive
239
+
240
+ Verification records commands, expected/actual results, exit codes, and risk status.
241
+
242
+ Verification must not add new feature work. A failed verification that requires product changes re-enters an approved work path.
243
+
244
+ Archive requires `archive-summary.md`.
245
+
246
+ Archive is cold context. Future tasks read indexes and summaries before detailed archived artifacts.
247
+
248
+ `handoff.md` is updated only when the user asks for a new-chat handoff.
249
+
250
+ handoff.md is a status summary, not the restart prompt container.
251
+
252
+ The next-chat prompt is returned in the chat response.
@@ -0,0 +1,7 @@
1
+ # Compound State
2
+
3
+ No reusable learning has been captured for this project yet.
4
+
5
+ Reusable learning belongs under `harness/docs/solutions/`.
6
+
7
+ This file stores only a short index of reusable learning documents.
@@ -0,0 +1,11 @@
1
+ # Request Intake
2
+
3
+ No active request has been recorded for this project yet.
4
+
5
+ When a substantive user request starts, record:
6
+
7
+ - User Request
8
+ - Plain-Language Interpretation
9
+ - Workflow Decision
10
+ - Required Plugins Or Skills
11
+ - Current Blockers
@@ -0,0 +1,13 @@
1
+ # Module Structure
2
+
3
+ No project module structure has been approved.
4
+
5
+ Module types and folder standards must be approved through the Module Structure Gate in the Full Workflow before product modules are created.
6
+
7
+ When approved, record:
8
+
9
+ - Project Module Types
10
+ - Folder Set For Each Module Type
11
+ - Active Modules
12
+ - Deferred Modules
13
+ - Extra Folders And Reasons
@@ -0,0 +1,21 @@
1
+ # Planning State
2
+
3
+ No active task is in progress.
4
+
5
+ When a task starts, record:
6
+
7
+ - Active Task Slug
8
+ - Current Gate
9
+ - Canonical Event Log
10
+ - Gate Ledger Projection
11
+ - Task YAML Cache
12
+ - Current Allowed Capability Scope
13
+ - Next Locked Gate
14
+
15
+ Task-specific gate approvals belong in `harness/docs/tasks/active/<slug>/events.jsonl`.
16
+
17
+ `gate-ledger.md` is a human-readable projection.
18
+
19
+ `task.yaml` is a derived cache.
20
+
21
+ This state file points to the active task only. It is not the source of truth for gate approvals or permissions.
@@ -0,0 +1,13 @@
1
+ # Module State
2
+
3
+ Current state for this module.
4
+
5
+ This file is not a full archive. Keep it short and current.
6
+
7
+ ## Purpose
8
+
9
+ ## Current Interfaces
10
+
11
+ ## Current Risks
12
+
13
+ ## Last Verified
@@ -0,0 +1,19 @@
1
+ # ๋ณด๊ด€ ์š”์•ฝ
2
+
3
+ active task๋ฅผ archive๋กœ ์˜ฎ๊ธฐ๊ธฐ ์ „์— ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ์šฉ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.
4
+
5
+ ## ๊ฒฐ๊ณผ
6
+
7
+ - ์ƒํƒœ:
8
+ - ์‚ฌ์šฉ์ž ํ™•์ธ:
9
+ - ๋ฏธ๋ฃฌ ์ผ:
10
+ - ๋ง‰ํžŒ ์ผ:
11
+
12
+ ## ๋‹ค์‹œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์›€
13
+
14
+ - ์•„์ง ์—†์Œ
15
+
16
+ ## ์›๋ณธ ํ•ด์‹œ
17
+
18
+ | ์‚ฐ์ถœ๋ฌผ | ํ•ด์‹œ |
19
+ | --- | --- |
@@ -0,0 +1 @@
1
+ {"event_type":"template_only","note":"Do not copy this line into a live task. A live events.jsonl starts empty and is append-only."}
@@ -0,0 +1,21 @@
1
+ # ์Šน์ธ ๊ธฐ๋ก
2
+
3
+ ์ด ํŒŒ์ผ์€ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•œ ์Šน์ธ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.
4
+
5
+ ์›๋ณธ ๊ธฐ๋ก:
6
+
7
+ ```text
8
+ events.jsonl
9
+ ```
10
+
11
+ ์ด ํŒŒ์ผ๋งŒ ๋ณด๊ณ  ๊ถŒํ•œ์„ ํŒ๋‹จํ•˜์ง€ ๋งˆ์„ธ์š”. ์‹ค์ œ ๊ถŒํ•œ ํŒ๋‹จ์€ `events.jsonl`, contracts, PermissionDecision์„ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
12
+
13
+ ## ํ˜„์žฌ ์ƒํƒœ
14
+
15
+ - ํ˜„์žฌ ๋‹จ๊ณ„:
16
+ - ๋งˆ์ง€๋ง‰์œผ๋กœ ์Šน์ธ๋œ ๊ฒƒ:
17
+ - ์•„์ง ์ž ๊ธด ๊ฒƒ:
18
+
19
+ ## ์Šน์ธ ๋‚ด์—ญ
20
+
21
+ ์•„์ง ๊ธฐ๋ก๋œ ์Šน์ธ ๋‚ด์—ญ์ด ์—†์Šต๋‹ˆ๋‹ค.
@@ -0,0 +1,11 @@
1
+ # ๊ตฌํ˜„ ์Šน์ธ ์š”์•ฝ
2
+
3
+ ์ด ํŒŒ์ผ์€ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์œ„ํ•œ ์Šน์ธ ์š”์•ฝ์ž…๋‹ˆ๋‹ค.
4
+
5
+ ์‹ค์ œ ์Šน์ธ ๊ทผ๊ฑฐ๋Š” ๋ฐ˜๋“œ์‹œ `events.jsonl`์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
6
+
7
+ ## ์Šน์ธ ๋ฒ”์œ„
8
+
9
+ - ํ—ˆ์šฉ๋œ ์ž‘์—…:
10
+ - ํ—ˆ์šฉ๋œ ๊ฒฝ๋กœ:
11
+ - ์•„์ง ์ž ๊ธด ์ž‘์—…:
@@ -0,0 +1,3 @@
1
+ # ํ˜„์žฌ ๊ธฐํš ๋งฅ๋ฝ
2
+
3
+ writing_plan์ด ์ฝ์„ ์••์ถ•๋œ ํ˜„์žฌ ๋งฅ๋ฝ์ž…๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # ์‚ฌ์šฉ์ž ์˜๋„ ์งˆ๋ฌธ ์š”์•ฝ
2
+
3
+ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ, ์ œ์™ธ ๋ฒ”์œ„, ์„ฑ๊ณต ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # ์ž๋ฃŒ์กฐ์‚ฌ ์š”์•ฝ
2
+
3
+ ์Šน์ธ๋œ ์ž๋ฃŒ์กฐ์‚ฌ ๊ฒฐ๊ณผ์™€ ๊ทผ๊ฑฐ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # Compound ์กฐํšŒ
2
+
3
+ ๊ด€๋ จ ๊ณผ๊ฑฐ ๋ฐฐ์›€์ด๋‚˜ ํŒจํ„ด์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # ์•„ํ‚คํ…์ฒ˜ ๋ฐฉํ–ฅ
2
+
3
+ ํ•„์š”ํ•œ ๊ฒฝ์šฐ PRD ํ™•์ • ์ „์— ๊ธฐ์ˆ ์  ๋ชจ์–‘์„ ์‚ฌ์šฉ์ž ์–ธ์–ด๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # PRD
2
+
3
+ ์ œํ’ˆ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์„ฑ๊ณต ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # ์ด์Šˆ
2
+
3
+ ๋…๋ฆฝ์ ์œผ๋กœ ์ง„ํ–‰ ๊ฐ€๋Šฅํ•œ ์ž‘์—… ๋‹จ์œ„๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # ๋ชจ๋“ˆ ๊ตฌ์กฐ
2
+
3
+ ๊ตฌํ˜„์„ ์–ด๋””์— ๋‘˜์ง€ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ํด๋” ์ƒ์„ฑ์„ ์Šน์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # Writing Plan
2
+
3
+ ๊ตฌํ˜„ ๊ณ„ํš์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š” ๊ตฌํ˜„ ์Šน์ธ์ด ์•„๋‹™๋‹ˆ๋‹ค.
@@ -0,0 +1,3 @@
1
+ # ๊ณ„ํš ๋ฆฌ๋ทฐ
2
+
3
+ CEO, ์—”์ง€๋‹ˆ์–ด๋ง, ์ค€์ˆ˜ ๊ด€์ ์˜ ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
@@ -0,0 +1,23 @@
1
+ # Planning Pack
2
+
3
+ ์ด ํŒŒ์ผ์€ ์ตœ์ข… ๊ฒฐ์ • manifest์ž…๋‹ˆ๋‹ค. raw transcript๋ฅผ ๋ˆ„์ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
4
+
5
+ ## ํ˜„์žฌ ๊ฒฐ์ •
6
+
7
+ - ๋ชฉํ‘œ:
8
+ - ์ œ์™ธ ๋ฒ”์œ„:
9
+ - ์„ฑ๊ณต ๊ธฐ์ค€:
10
+ - ์Šน์ธ๋œ ๋‹ค์Œ ๋‹จ๊ณ„:
11
+
12
+ ## ์ฝ์–ด์•ผ ํ•  ์„ธ๋ถ€ ์‚ฐ์ถœ๋ฌผ
13
+
14
+ - planning/00-current-planning-context.md
15
+ - planning/01-grill-summary.md
16
+ - planning/02-research-summary.md
17
+ - planning/02b-compound-lookup.md
18
+ - planning/02c-architecture-orientation.md
19
+ - planning/03-prd.md
20
+ - planning/04-issues.md
21
+ - planning/05-module-structure.md
22
+ - planning/06-writing-plan.md
23
+ - planning/07-plan-review.md
@@ -0,0 +1,10 @@
1
+ task_id: "{{task_id}}"
2
+ task_type: "{{task_type}}"
3
+ status: active
4
+ current_gate: intake
5
+ canonical_event_log: events.jsonl
6
+ human_projection: gate-ledger.md
7
+ cache_projection: task.yaml
8
+ planning_pack: planning-pack.md
9
+ created_at: "{{created_at}}"
10
+ updated_at: "{{updated_at}}"