oh-my-opencode-lite 0.1.2 → 0.1.3
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/dist/index.js +64 -9
- package/package.json +1 -1
- package/src/skills/_shared/openspec-convention.md +4 -3
- package/src/skills/_shared/persistence-contract.md +17 -0
- package/src/skills/_shared/thoth-mem-convention.md +3 -2
- package/src/skills/plan-reviewer/SKILL.md +11 -3
- package/src/skills/requirements-interview/SKILL.md +6 -1
- package/src/skills/sdd-apply/SKILL.md +12 -5
- package/src/skills/sdd-archive/SKILL.md +14 -8
- package/src/skills/sdd-propose/SKILL.md +1 -1
- package/src/skills/sdd-tasks/SKILL.md +11 -6
- package/src/skills/sdd-verify/SKILL.md +27 -18
package/dist/index.js
CHANGED
|
@@ -17755,19 +17755,74 @@ Routing tiebreakers:
|
|
|
17755
17755
|
</delegation-failure>
|
|
17756
17756
|
|
|
17757
17757
|
<sdd>
|
|
17758
|
+
## HARD GATE
|
|
17759
|
+
- Every SDD phase that produces an artifact MUST be dispatched to a WRITE-CAPABLE agent (@deep or @quick) with the corresponding skill loaded.
|
|
17760
|
+
- Oracle is READ-ONLY. NEVER use oracle to execute SDD artifact phases (propose, spec, design, tasks, apply). Oracle is ONLY for plan-review.
|
|
17761
|
+
- NEVER skip artifact creation. Each phase MUST produce its persistent artifact before the next phase begins.
|
|
17762
|
+
- NEVER jump from requirements-interview directly to implementation. The approved SDD route MUST be followed phase by phase.
|
|
17763
|
+
|
|
17764
|
+
## Entry
|
|
17758
17765
|
- Non-trivial work starts with requirements-interview. Skip it only for truly trivial, unambiguous work.
|
|
17759
|
-
- Use its result to choose direct implementation, accelerated SDD, or full SDD.
|
|
17760
|
-
- If persistence includes openspec and openspec/ is missing,
|
|
17761
|
-
|
|
17762
|
-
|
|
17766
|
+
- Use its result to choose: direct implementation, accelerated SDD, or full SDD.
|
|
17767
|
+
- If persistence mode includes openspec and openspec/ is missing, dispatch sdd-init first.
|
|
17768
|
+
|
|
17769
|
+
## Pipeline: Accelerated SDD (propose -> tasks)
|
|
17770
|
+
1. Dispatch @deep with skill \`sdd-propose\`. Wait for result. Verify artifact was persisted.
|
|
17771
|
+
2. Dispatch @deep with skill \`sdd-tasks\`. Wait for result. Verify artifact was persisted.
|
|
17772
|
+
3. Plan-review gate (see "Plan Review Gate" below).
|
|
17773
|
+
4. Proceed to execution: dispatch @deep or @quick with skill \`sdd-apply\` per task.
|
|
17774
|
+
|
|
17775
|
+
## Pipeline: Full SDD (propose -> spec -> design -> tasks)
|
|
17776
|
+
1. Dispatch @deep with skill \`sdd-propose\`. Wait for result. Verify artifact was persisted.
|
|
17777
|
+
2. Dispatch @deep with skill \`sdd-spec\`. Wait for result. Verify artifact was persisted.
|
|
17778
|
+
3. Dispatch @deep with skill \`sdd-design\`. Wait for result. Verify artifact was persisted.
|
|
17779
|
+
4. Dispatch @deep with skill \`sdd-tasks\`. Wait for result. Verify artifact was persisted.
|
|
17780
|
+
5. Plan-review gate (see "Plan Review Gate" below).
|
|
17781
|
+
6. Proceed to execution: dispatch @deep or @quick with skill \`sdd-apply\` per task.
|
|
17782
|
+
|
|
17783
|
+
## Plan Review Gate
|
|
17784
|
+
After tasks are generated, use \`question\` to ask the user:
|
|
17785
|
+
- "Review plan with @oracle before executing (Recommended)" \u2014 thorough review for correctness
|
|
17786
|
+
- "Proceed to execution" \u2014 skip review and start implementing
|
|
17787
|
+
|
|
17788
|
+
If the user chooses review:
|
|
17789
|
+
1. Dispatch @oracle with skill \`plan-reviewer\`.
|
|
17790
|
+
2. If [OKAY]: proceed to execution.
|
|
17791
|
+
3. If [REJECT]: dispatch @deep to fix the blocking issues listed by oracle, then re-dispatch @oracle for another review.
|
|
17792
|
+
4. Repeat the review loop until @oracle returns [OKAY]. Do NOT proceed to execution while the plan is [REJECT].
|
|
17793
|
+
|
|
17794
|
+
## Post-execution
|
|
17795
|
+
- After all tasks complete: dispatch @deep with skill \`sdd-verify\`.
|
|
17796
|
+
- After verification passes: dispatch @deep with skill \`sdd-archive\`.
|
|
17797
|
+
|
|
17798
|
+
## Artifact Verification
|
|
17799
|
+
After each SDD phase dispatch returns, verify the artifact exists:
|
|
17800
|
+
- If mode includes openspec: confirm the sub-agent reported the file path.
|
|
17801
|
+
- If mode includes thoth-mem: confirm the sub-agent reported the topic_key.
|
|
17802
|
+
- If verification fails, retry the phase once. If it fails again, report to user via question.
|
|
17763
17803
|
</sdd>
|
|
17764
17804
|
|
|
17765
17805
|
<sdd-dispatch>
|
|
17766
|
-
When dispatching an SDD phase, include:
|
|
17767
|
-
1. Load skill \`sdd-{phase}\` and follow it exactly.
|
|
17768
|
-
2. Persistence mode: thoth-mem / openspec / hybrid / none.
|
|
17769
|
-
3.
|
|
17770
|
-
|
|
17806
|
+
When dispatching an SDD phase, the prompt to the sub-agent MUST include ALL of:
|
|
17807
|
+
1. "Load skill \`sdd-{phase}\` and follow it exactly."
|
|
17808
|
+
2. "Persistence mode: {mode}" (one of: thoth-mem / openspec / hybrid / none).
|
|
17809
|
+
3. "Pipeline type: {type}" (one of: accelerated / full).
|
|
17810
|
+
4. "Change name: {change-name}"
|
|
17811
|
+
5. "Project: {project-name}" (for thoth-mem persistence).
|
|
17812
|
+
6. Any prior artifact context the phase needs (e.g., proposal content for spec phase).
|
|
17813
|
+
|
|
17814
|
+
Dispatch target by phase:
|
|
17815
|
+
- sdd-init: @deep or @quick (write-capable, creates openspec/ structure)
|
|
17816
|
+
- sdd-propose: @deep (write-capable, creates proposal artifact)
|
|
17817
|
+
- sdd-spec: @deep (write-capable, creates spec artifact)
|
|
17818
|
+
- sdd-design: @deep (write-capable, needs codebase analysis + file creation)
|
|
17819
|
+
- sdd-tasks: @deep (write-capable, creates tasks artifact)
|
|
17820
|
+
- plan-reviewer: @oracle (read-only, reviews plan \u2014 the ONLY phase that uses oracle)
|
|
17821
|
+
- sdd-apply: @deep or @quick (write-capable, implements code changes)
|
|
17822
|
+
- sdd-verify: @deep (write-capable, runs verification)
|
|
17823
|
+
- sdd-archive: @deep (write-capable, archives change)
|
|
17824
|
+
|
|
17825
|
+
Sub-agents own phase execution and artifact persistence. You own sequencing, progress tracking, and user gates.
|
|
17771
17826
|
</sdd-dispatch>
|
|
17772
17827
|
|
|
17773
17828
|
<progress>
|
package/package.json
CHANGED
|
@@ -71,10 +71,11 @@ thoth-mem.
|
|
|
71
71
|
## Artifact Content Rules
|
|
72
72
|
|
|
73
73
|
- `proposal.md` explains why the change exists.
|
|
74
|
-
- `spec.md` uses RFC 2119 keywords and Given/When/Then scenarios.
|
|
75
|
-
- `design.md` explains how the change will be implemented.
|
|
74
|
+
- `spec.md` uses RFC 2119 keywords and Given/When/Then scenarios (full pipeline only).
|
|
75
|
+
- `design.md` explains how the change will be implemented (full pipeline only).
|
|
76
76
|
- `tasks.md` is phase-based and uses Markdown checkboxes.
|
|
77
|
-
- `verify-report.md` maps
|
|
77
|
+
- `verify-report.md` maps acceptance criteria to executed evidence: spec
|
|
78
|
+
scenarios in full pipeline, proposal success criteria in accelerated pipeline.
|
|
78
79
|
|
|
79
80
|
## `config.yaml` Shape
|
|
80
81
|
|
|
@@ -115,6 +115,23 @@ Always complete the 3-layer recall before using content as source material.
|
|
|
115
115
|
- `sdd-archive` persists `sdd/{change-name}/archive-report`
|
|
116
116
|
- `state` persists `sdd/{change-name}/state`
|
|
117
117
|
|
|
118
|
+
## Pipeline Type Impact on Prerequisites
|
|
119
|
+
|
|
120
|
+
The orchestrator passes `pipeline-type` (`accelerated` or `full`) alongside the
|
|
121
|
+
persistence mode. This affects which artifacts each skill requires:
|
|
122
|
+
|
|
123
|
+
| Artifact | Full pipeline | Accelerated pipeline |
|
|
124
|
+
| --- | --- | --- |
|
|
125
|
+
| Proposal | Required by all phases | Required by all phases (serves as acceptance reference) |
|
|
126
|
+
| Spec | Required by design, tasks, apply, verify, archive | Not produced; not required |
|
|
127
|
+
| Design | Required by tasks, apply, verify, archive | Not produced; not required |
|
|
128
|
+
| Tasks | Required by apply, verify, archive | Required by apply, verify, archive |
|
|
129
|
+
| Verify report | Required by archive | Required by archive |
|
|
130
|
+
|
|
131
|
+
In accelerated pipeline, the proposal serves as the acceptance reference where
|
|
132
|
+
specs would normally be used. Skills must adapt their retrieval, compliance
|
|
133
|
+
checks, and archive behavior accordingly.
|
|
134
|
+
|
|
118
135
|
## Recovery Notes
|
|
119
136
|
|
|
120
137
|
- Prefer exact topic-key queries over fuzzy natural-language search.
|
|
@@ -51,10 +51,11 @@ transition to enable recovery:
|
|
|
51
51
|
change: {change-name}
|
|
52
52
|
phase: {last-completed-phase}
|
|
53
53
|
mode: {thoth-mem|openspec|hybrid|none}
|
|
54
|
+
pipeline: {accelerated|full}
|
|
54
55
|
artifacts:
|
|
55
56
|
proposal: true
|
|
56
|
-
spec: false
|
|
57
|
-
design: false
|
|
57
|
+
spec: false # always false in accelerated pipeline
|
|
58
|
+
design: false # always false in accelerated pipeline
|
|
58
59
|
tasks: false
|
|
59
60
|
apply-progress: false
|
|
60
61
|
verify-report: false
|
|
@@ -19,15 +19,23 @@ to hand to implementation.
|
|
|
19
19
|
|
|
20
20
|
## Purpose
|
|
21
21
|
|
|
22
|
-
Review
|
|
22
|
+
Review the tasks artifact for true execution blockers. Retrieve it according to
|
|
23
|
+
the persistence mode: read `openspec/changes/{change-name}/tasks.md` for
|
|
24
|
+
openspec/hybrid modes, use thoth-mem 3-layer recall for thoth-mem/hybrid modes,
|
|
25
|
+
or read from inline context for none mode.
|
|
26
|
+
|
|
23
27
|
Focus on whether the plan can be executed as written, not whether you would have
|
|
24
28
|
designed it differently.
|
|
25
29
|
|
|
26
30
|
## Inputs
|
|
27
31
|
|
|
28
32
|
- `change-name`
|
|
29
|
-
- `
|
|
30
|
-
-
|
|
33
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
34
|
+
- `persistence-mode` (`thoth-mem`, `openspec`, `hybrid`, or `none`)
|
|
35
|
+
- Tasks artifact (retrieved per persistence mode: filesystem for openspec/hybrid,
|
|
36
|
+
thoth-mem for thoth-mem/hybrid, inline for none)
|
|
37
|
+
- **Full pipeline**: related spec and design artifacts when needed for dependency checks
|
|
38
|
+
- **Accelerated pipeline**: proposal artifact when needed for dependency checks
|
|
31
39
|
|
|
32
40
|
## Task State Awareness
|
|
33
41
|
|
|
@@ -161,7 +161,12 @@ verify that `openspec/` is initialized. If it is not, recommend running
|
|
|
161
161
|
`~/.config/opencode/skills/sdd-init/SKILL.md`
|
|
162
162
|
|
|
163
163
|
Once route, persistence mode, and initialization are confirmed, hand off to the
|
|
164
|
-
corresponding SDD pipeline phase:
|
|
164
|
+
corresponding SDD pipeline phase. The handoff MUST include:
|
|
165
|
+
- `pipeline-type`: `accelerated` or `full` (matching the confirmed route)
|
|
166
|
+
- `persistence-mode`: the user's chosen artifact store mode
|
|
167
|
+
- `change-name`: derived from the approved scope
|
|
168
|
+
|
|
169
|
+
Hand off to:
|
|
165
170
|
|
|
166
171
|
- **Propose**: `~/.config/opencode/skills/sdd-propose/SKILL.md`
|
|
167
172
|
- **Spec** (full SDD only): `~/.config/opencode/skills/sdd-spec/SKILL.md`
|
|
@@ -36,14 +36,20 @@ rules per mode.
|
|
|
36
36
|
## Prerequisites
|
|
37
37
|
|
|
38
38
|
- `change-name`
|
|
39
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
39
40
|
- Assigned task numbers or phase range
|
|
40
|
-
-
|
|
41
|
+
- Task artifact
|
|
42
|
+
- Spec and design artifacts (full pipeline only)
|
|
43
|
+
- Proposal artifact (accelerated pipeline — used as the acceptance reference)
|
|
41
44
|
|
|
42
45
|
## Workflow
|
|
43
46
|
|
|
44
47
|
1. Read the shared conventions.
|
|
45
|
-
2. Recover
|
|
46
|
-
`~/.config/opencode/skills/_shared/persistence-contract.md
|
|
48
|
+
2. Recover artifacts with the retrieval protocol in
|
|
49
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
50
|
+
- **Always**: recover `tasks`
|
|
51
|
+
- **Full pipeline**: recover `spec` and `design`
|
|
52
|
+
- **Accelerated pipeline**: recover `proposal` (used as the acceptance reference)
|
|
47
53
|
3. Read the affected code before editing anything.
|
|
48
54
|
4. Execute only the assigned checklist items.
|
|
49
55
|
5. In modes that include thoth-mem, persist an implementation progress report
|
|
@@ -81,11 +87,12 @@ via the `executing-plans` skill. Do not update task checkboxes yourself.
|
|
|
81
87
|
|
|
82
88
|
## Rules
|
|
83
89
|
|
|
84
|
-
- Read
|
|
90
|
+
- Read the acceptance contract before implementing: specs in full pipeline,
|
|
91
|
+
proposal in accelerated pipeline.
|
|
85
92
|
- Follow the design unless you explicitly report a justified deviation.
|
|
86
93
|
- Update only the tasks assigned in the current batch.
|
|
87
94
|
- Persist the progress artifact whenever the selected mode includes thoth-mem.
|
|
88
95
|
- Retrieve every SDD dependency with the mode-aware protocol in
|
|
89
96
|
`~/.config/opencode/skills/_shared/persistence-contract.md`.
|
|
90
97
|
- Return structured execution evidence to the orchestrator so it can manage task
|
|
91
|
-
state correctly.
|
|
98
|
+
state correctly.
|
|
@@ -35,22 +35,27 @@ rules per mode.
|
|
|
35
35
|
## Prerequisites
|
|
36
36
|
|
|
37
37
|
- `change-name`
|
|
38
|
-
-
|
|
39
|
-
- Design artifact
|
|
38
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
40
39
|
- Tasks artifact
|
|
41
40
|
- Verify report artifact
|
|
41
|
+
- Spec artifact (full pipeline only)
|
|
42
|
+
- Design artifact (full pipeline only)
|
|
43
|
+
- Proposal artifact (always — used for audit trail)
|
|
42
44
|
|
|
43
45
|
## Workflow
|
|
44
46
|
|
|
45
47
|
1. Read the shared conventions.
|
|
46
|
-
2. Recover
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
2. Recover artifacts through the retrieval protocol in
|
|
49
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
50
|
+
- **Always**: recover `proposal`, `tasks`, and `verify-report`
|
|
51
|
+
- **Full pipeline only**: recover `spec` and `design`
|
|
49
52
|
3. Refuse to archive if the verification report still contains unresolved
|
|
50
53
|
critical failures.
|
|
51
|
-
4. If the selected mode includes OpenSpec
|
|
54
|
+
4. If the selected mode includes OpenSpec and the pipeline is full, merge
|
|
55
|
+
every change spec from
|
|
52
56
|
`openspec/changes/{change-name}/specs/{domain}/spec.md` into
|
|
53
|
-
`openspec/specs/{domain}/spec.md`.
|
|
57
|
+
`openspec/specs/{domain}/spec.md`. In accelerated pipeline, skip the
|
|
58
|
+
spec merge (no delta specs exist).
|
|
54
59
|
5. If the selected mode includes OpenSpec, move the completed change directory
|
|
55
60
|
to `openspec/changes/archive/YYYY-MM-DD-{change-name}/`.
|
|
56
61
|
6. Create an audit trail report summarizing merged domains, archive location,
|
|
@@ -84,7 +89,8 @@ Return:
|
|
|
84
89
|
## Rules
|
|
85
90
|
|
|
86
91
|
- Archive only after verification is acceptable.
|
|
87
|
-
-
|
|
92
|
+
- In full pipeline, merge delta specs before moving the change folder.
|
|
93
|
+
In accelerated pipeline, skip the spec merge (no delta specs exist).
|
|
88
94
|
- Preserve canonical spec structure and untouched requirements.
|
|
89
95
|
- Persist the final audit trail through thoth-mem when the selected mode
|
|
90
96
|
includes it.
|
|
@@ -87,7 +87,7 @@ Return a short report with:
|
|
|
87
87
|
- `Artifact`: `openspec/changes/{change-name}/proposal.md`
|
|
88
88
|
- `Topic Key`: `sdd/{change-name}/proposal`
|
|
89
89
|
- `Summary`: 2-4 bullets covering intent, scope, and major risks
|
|
90
|
-
- `Next Step`:
|
|
90
|
+
- `Next Step`: `sdd-spec` (full pipeline) or `sdd-tasks` (accelerated pipeline)
|
|
91
91
|
|
|
92
92
|
## Rules
|
|
93
93
|
|
|
@@ -28,21 +28,26 @@ rules per mode.
|
|
|
28
28
|
|
|
29
29
|
## When to Use
|
|
30
30
|
|
|
31
|
-
-
|
|
32
|
-
-
|
|
31
|
+
- **Full pipeline**: proposal, spec, and design are ready for execution planning
|
|
32
|
+
- **Accelerated pipeline**: proposal is ready and spec/design are intentionally skipped
|
|
33
|
+
- A task plan must be refreshed after scope changes
|
|
33
34
|
|
|
34
35
|
## Prerequisites
|
|
35
36
|
|
|
36
37
|
- `change-name`
|
|
38
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
37
39
|
- Proposal artifact
|
|
38
|
-
- Spec artifact
|
|
39
|
-
- Design artifact
|
|
40
|
+
- Spec artifact (full pipeline only)
|
|
41
|
+
- Design artifact (full pipeline only)
|
|
40
42
|
|
|
41
43
|
## Workflow
|
|
42
44
|
|
|
43
45
|
1. Read the shared conventions.
|
|
44
|
-
2. Recover
|
|
45
|
-
`~/.config/opencode/skills/_shared/persistence-contract.md
|
|
46
|
+
2. Recover artifacts via the retrieval protocol in
|
|
47
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
48
|
+
- **Always**: recover `proposal`
|
|
49
|
+
- **Full pipeline only**: recover `spec` and `design`
|
|
50
|
+
- In accelerated pipeline, derive task structure directly from the proposal.
|
|
46
51
|
3. If a task plan already exists, recover `sdd/{change-name}/tasks` with the
|
|
47
52
|
same mode-aware retrieval rules before rewriting it.
|
|
48
53
|
4. Build a phased checklist for `openspec/changes/{change-name}/tasks.md`. In
|
|
@@ -35,16 +35,21 @@ rules per mode.
|
|
|
35
35
|
## Prerequisites
|
|
36
36
|
|
|
37
37
|
- `change-name`
|
|
38
|
-
- Spec artifact
|
|
39
|
-
- Design artifact
|
|
40
38
|
- Tasks artifact
|
|
39
|
+
- `pipeline-type` (`accelerated` or `full`)
|
|
40
|
+
- Spec artifact (full pipeline only)
|
|
41
|
+
- Design artifact (full pipeline only)
|
|
42
|
+
- Proposal artifact (accelerated pipeline — used as the verification reference)
|
|
41
43
|
- Ability to run the relevant checks or tests
|
|
42
44
|
|
|
43
45
|
## Workflow
|
|
44
46
|
|
|
45
47
|
1. Read the shared conventions.
|
|
46
|
-
2. Recover
|
|
47
|
-
`~/.config/opencode/skills/_shared/persistence-contract.md
|
|
48
|
+
2. Recover artifacts with the retrieval protocol in
|
|
49
|
+
`~/.config/opencode/skills/_shared/persistence-contract.md`:
|
|
50
|
+
- **Always**: recover `tasks`
|
|
51
|
+
- **Full pipeline**: recover `spec` and `design`
|
|
52
|
+
- **Accelerated pipeline**: recover `proposal` (used as the verification reference)
|
|
48
53
|
3. Optionally recover `apply-progress` with the same mode-aware rules if it
|
|
49
54
|
exists and helps explain task coverage.
|
|
50
55
|
4. Read the changed code and run the required verification commands.
|
|
@@ -54,19 +59,22 @@ rules per mode.
|
|
|
54
59
|
In `thoth-mem` mode, produce the same report content without creating the
|
|
55
60
|
file:
|
|
56
61
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
```md
|
|
63
|
+
# Verification Report: {Change Title}
|
|
64
|
+
|
|
65
|
+
## Completeness
|
|
66
|
+
## Build and Test Evidence
|
|
67
|
+
## Compliance Matrix
|
|
68
|
+
<!-- Full pipeline: map Given/When/Then scenarios from spec -->
|
|
69
|
+
<!-- Accelerated pipeline: map success criteria from proposal -->
|
|
70
|
+
## Design Coherence (full pipeline only)
|
|
71
|
+
## Issues Found
|
|
72
|
+
## Verdict
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
6. Build a compliance matrix: in full pipeline, map each Given/When/Then
|
|
76
|
+
scenario to evidence; in accelerated pipeline, map each proposal success
|
|
77
|
+
criterion to evidence.
|
|
70
78
|
7. If the selected mode includes thoth-mem, persist the report with:
|
|
71
79
|
|
|
72
80
|
```text
|
|
@@ -94,7 +102,8 @@ Return:
|
|
|
94
102
|
## Rules
|
|
95
103
|
|
|
96
104
|
- Verification requires real evidence, not only static inspection.
|
|
97
|
-
- Every
|
|
105
|
+
- Every acceptance criterion must appear in the compliance matrix: spec
|
|
106
|
+
scenarios in full pipeline, proposal success criteria in accelerated pipeline.
|
|
98
107
|
- Distinguish blockers from warnings clearly.
|
|
99
108
|
- Do not fix issues inside this phase; report them.
|
|
100
109
|
- Recover full artifacts with the protocol in
|