easy-coding-harness 0.10.0-beta.9 → 1.0.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.
- package/CHANGELOG.md +56 -1
- package/README.md +32 -25
- package/dist/cli.js +272 -37
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/templates/claude/agents/ec-implementer.md +7 -8
- package/templates/claude/agents/ec-reviewer.md +14 -2
- package/templates/claude/agents/ec-verifier.md +11 -2
- package/templates/codex/agents/ec-implementer.toml +7 -8
- package/templates/codex/agents/ec-reviewer.toml +14 -2
- package/templates/codex/agents/ec-verifier.toml +11 -2
- package/templates/common/bundled-skills/ec-init/SKILL.md +1 -1
- package/templates/common/bundled-skills/ec-meta/references/local-architecture/README.md +15 -11
- package/templates/common/skills/ec-analysis/SKILL.md +9 -8
- package/templates/common/skills/ec-config/SKILL.md +2 -2
- package/templates/common/skills/ec-implementing/SKILL.md +35 -30
- package/templates/common/skills/ec-lite/SKILL.md +74 -0
- package/templates/common/skills/ec-no-harness/SKILL.md +3 -0
- package/templates/common/skills/ec-quality/SKILL.md +153 -0
- package/templates/common/skills/ec-task-management/SKILL.md +9 -5
- package/templates/common/skills/ec-tdd-init/SKILL.md +5 -4
- package/templates/common/skills/ec-workflow/SKILL.md +22 -29
- package/templates/main-constraint/AGENTS.md.tpl +19 -13
- package/templates/main-constraint/CLAUDE.md.tpl +19 -13
- package/templates/qoder/agents/ec-implementer.md +7 -8
- package/templates/qoder/agents/ec-reviewer.md +14 -2
- package/templates/qoder/agents/ec-verifier.md +11 -2
- package/templates/runtime/templates/dev-spec-skeleton.md +2 -2
- package/templates/shared-hooks/easy_coding_state.py +2793 -318
- package/templates/claude/agents/ec-fixer.md +0 -37
- package/templates/codex/agents/ec-fixer.toml +0 -26
- package/templates/common/skills/ec-reviewing/SKILL.md +0 -109
- package/templates/common/skills/ec-verification/SKILL.md +0 -177
- package/templates/qoder/agents/ec-fixer.md +0 -37
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ec-quality
|
|
3
|
+
description: QUALITY-stage skill. Freezes one candidate, runs independent Review and Verification gates at the selected workflow depth, and aggregates one repair decision.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ec-quality — one candidate, two read-only gates
|
|
7
|
+
|
|
8
|
+
Use only while the current task is in `QUALITY`. Communicate in the user's language. QUALITY
|
|
9
|
+
does not modify source, tests, configuration, plans, or task scope.
|
|
10
|
+
|
|
11
|
+
## Candidate freeze
|
|
12
|
+
|
|
13
|
+
Call `evidence-fingerprints` once and use the returned implementation/config fingerprints for
|
|
14
|
+
the whole attempt. It also returns the runtime-owned `quality_attempt` number, start time, evidence
|
|
15
|
+
boundary, and repair count. Every Review and Verification record in this attempt must carry that
|
|
16
|
+
same candidate fingerprint and `quality_attempt` number. If the candidate changes, return to
|
|
17
|
+
IMPLEMENT; the state API finalizes the old attempt as `cancelled` before the transition. Never mix
|
|
18
|
+
evidence from two candidates.
|
|
19
|
+
|
|
20
|
+
`execution.jsonl` is append-only. Do not write `type:"quality"` yourself. The state API appends
|
|
21
|
+
exactly one fingerprint-bound finalized record when QUALITY passes, leaves for repair/replan, or is
|
|
22
|
+
cancelled by candidate drift, rework, or task closure. Retries reuse that record instead of
|
|
23
|
+
duplicating it. An incomplete, duplicate, or out-of-sequence quality record blocks the transition.
|
|
24
|
+
|
|
25
|
+
Review Gate and Verification Gate are independent and may run in parallel. Review never executes
|
|
26
|
+
commands. Verification never edits files. If a hard blocker makes remaining work meaningless,
|
|
27
|
+
cancel the other checks explicitly and record the cancellation; do not start repair while a gate
|
|
28
|
+
is still running or unacknowledged.
|
|
29
|
+
|
|
30
|
+
## Workflow depth
|
|
31
|
+
|
|
32
|
+
### Fast
|
|
33
|
+
|
|
34
|
+
- Main Agent performs one focused self-review of the exact diff, contract, local style, Javadoc,
|
|
35
|
+
and minimum-change boundary.
|
|
36
|
+
- Run the smallest deterministic targeted verification that can prove the changed behavior.
|
|
37
|
+
- Do not dispatch an independent reviewer unless a concrete risk appears.
|
|
38
|
+
|
|
39
|
+
### Standard
|
|
40
|
+
|
|
41
|
+
- Dispatch one independent reviewer.
|
|
42
|
+
- Run affected lint/typecheck/test plus every must-test command from `test-strategy.md`.
|
|
43
|
+
- Run Review and Verification in parallel when their inputs are already frozen.
|
|
44
|
+
|
|
45
|
+
### Strict
|
|
46
|
+
|
|
47
|
+
- Dispatch at least two independent review dimensions, normally correctness and compliance.
|
|
48
|
+
- For each actually modified repository, run all applicable lint, typecheck, test, and build
|
|
49
|
+
checks. A repository merely mentioned by a Spec, dependency, supermodule, or path map is not in
|
|
50
|
+
scope.
|
|
51
|
+
- When frozen TDD is enabled, include the required TDD review dimension, local unit test, and
|
|
52
|
+
changed-production-line coverage. Record one coverage result with `coverage_scope:"local"`;
|
|
53
|
+
GitLab coverage is informative, not a task acceptance gate. Reuse current-fingerprint GREEN
|
|
54
|
+
evidence from IMPLEMENT instead of rerunning an identical command.
|
|
55
|
+
|
|
56
|
+
## Review Gate
|
|
57
|
+
|
|
58
|
+
Review only the confirmed diff and its direct interactions. Check acceptance behavior, contract
|
|
59
|
+
compatibility, security/correctness, test design, nearest local style, required core Java
|
|
60
|
+
Javadoc, logical blank-line grouping, and minimum modification.
|
|
61
|
+
|
|
62
|
+
Do not demand defensive null checks, constant extraction, abstractions, method splitting,
|
|
63
|
+
comments, formatting, or cleanup solely as generic best practice. Do not report unrelated legacy
|
|
64
|
+
issues as task findings. The first review must report the complete in-scope finding set; after a
|
|
65
|
+
repair, review only the repair delta and directly affected interactions, without introducing new
|
|
66
|
+
unrelated style findings.
|
|
67
|
+
|
|
68
|
+
Each review record uses the existing `type:"review"` contract and includes the active
|
|
69
|
+
`quality_attempt`. `error` is blocking; `warning` is a credible risk; `info` is non-blocking. Fast
|
|
70
|
+
self-review still writes a record with reviewer set to the current canonical Agent identity. A
|
|
71
|
+
blocking record also carries a `failure_classes` array; do not defer classification to prose.
|
|
72
|
+
|
|
73
|
+
## Verification Gate
|
|
74
|
+
|
|
75
|
+
Run only the commands selected by the mode and `test-strategy.md`. Record real exit status and
|
|
76
|
+
current implementation/config fingerprints plus the active `quality_attempt` using the existing
|
|
77
|
+
`type:"verify"` contract. Do not run a command inside Review Gate, and do not fix a failure inside
|
|
78
|
+
Verification Gate. A failed applicable check also carries its structured `failure_classes` array.
|
|
79
|
+
|
|
80
|
+
Classify an unavailable tool, dependency outage, or other environmental failure as
|
|
81
|
+
`environment`. Keep the task in QUALITY and retry that check when possible; environmental retry
|
|
82
|
+
does not invalidate a passed Review Gate.
|
|
83
|
+
|
|
84
|
+
## One repair bundle
|
|
85
|
+
|
|
86
|
+
Wait for both gates, then aggregate all blocking results once. Classify each item as:
|
|
87
|
+
|
|
88
|
+
- `code-defect`
|
|
89
|
+
- `test-defect`
|
|
90
|
+
- `contract-ambiguity`
|
|
91
|
+
- `environment`
|
|
92
|
+
- `suggestion`
|
|
93
|
+
|
|
94
|
+
If code or tests need edits, create one concise Repair Bundle containing every in-scope blocking
|
|
95
|
+
item, affected files, required verification, and evidence that may be reused. After both Gates are
|
|
96
|
+
terminal, finalize the decision before transitioning once to IMPLEMENT:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
{{PYTHON_CMD}} {{platform_config_dir}}/hooks/easy_coding_state.py finalize-quality \
|
|
100
|
+
--outcome repair --review-gate failed --verification-gate cancelled \
|
|
101
|
+
--failure-class code-defect \
|
|
102
|
+
--summary "<aggregated repair decision>" \
|
|
103
|
+
--agent <agent-id> --session-file <P>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Use one `--failure-class` per class. A failed Gate requires blocking evidence in the active attempt;
|
|
107
|
+
a Gate stopped after another hard blocker must be explicitly `cancelled`. Contract ambiguity has
|
|
108
|
+
routing priority: finalize `--outcome replan --failure-class contract-ambiguity`, preserve every
|
|
109
|
+
code/test class found in the same attempt, and return once to ANALYSIS. Environment failures are not
|
|
110
|
+
finalized as repair or replan: keep the attempt in QUALITY and retry the affected check. Suggestions
|
|
111
|
+
do not block.
|
|
112
|
+
|
|
113
|
+
For a Canonical-backed task, group the bundle by `source_task_id`. Append every failed local
|
|
114
|
+
review/verify record first, then write each affected source task `blocked` through
|
|
115
|
+
`writeback-spec-task`. For attempt `<A>`, candidate `<F>`, Harness task `<H>`, and source task `<S>`,
|
|
116
|
+
use the exact idempotency key `<H>:<S>:<F>:quality-<A>:blocked`. Add one failed evidence object for
|
|
117
|
+
each affected Gate kind with ref
|
|
118
|
+
`execution.jsonl#quality-attempt=<A>;implementation=<F>;source-task=<S>;kind=review|verify`.
|
|
119
|
+
Only after every blocked writeback is acknowledged may the task return to IMPLEMENT; the state API
|
|
120
|
+
rejects a writeback from another run, attempt, fingerprint, or evidence window. Entering IMPLEMENT
|
|
121
|
+
reopens only those blocked source tasks as a new `in_progress` attempt, while unaffected implemented
|
|
122
|
+
tasks keep their shared conclusion.
|
|
123
|
+
|
|
124
|
+
After repair, choose the minimum honest evidence refresh:
|
|
125
|
+
|
|
126
|
+
- comment/format-only: carry semantic review; rerun affected lint;
|
|
127
|
+
- test-only: review the test delta; rerun the affected test;
|
|
128
|
+
- localized business code: delta review plus impacted tests;
|
|
129
|
+
- contract/config/plan/shared behavior: rerun all applicable gates for the affected scope.
|
|
130
|
+
|
|
131
|
+
When uncertain, rerun rather than infer. On the next attempt, the state API emits an append-only
|
|
132
|
+
`quality-carry-forward` record only for Canonical repositories whose plan and repository content
|
|
133
|
+
fingerprints are unchanged and whose sources are not hard/contract downstream of a changed source;
|
|
134
|
+
it references the exact passed evidence indices from the consumed repair attempt. Never copy or
|
|
135
|
+
relabel old evidence yourself. Strict may consume that state-owned record for independent,
|
|
136
|
+
unaffected repositories, but must rerun every affected or dependency-invalidated repository gate.
|
|
137
|
+
|
|
138
|
+
## Acceptance boundary
|
|
139
|
+
|
|
140
|
+
When both gates pass, call:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
{{PYTHON_CMD}} {{platform_config_dir}}/hooks/easy_coding_state.py quality-checkpoint \
|
|
144
|
+
--agent <agent-id> --session-file <P>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Request or auto-apply `QUALITY -> MEMORY` according to Approval mode. If the checkpoint detects a
|
|
148
|
+
later user edit, call `inspect-transition-drift`, display the exact diff, and honor the user's
|
|
149
|
+
decision. An accepted diff may use carry-forward, targeted, or waived verification as recorded by
|
|
150
|
+
the state API; do not rerun Review after the user explicitly accepts the displayed change.
|
|
151
|
+
|
|
152
|
+
Canonical-backed tasks write selected tasks `verified` only when `QUALITY -> MEMORY` is actually
|
|
153
|
+
applied. Pending integration evidence blocks that transition before MEMORY begins.
|
|
@@ -14,7 +14,7 @@ Call the state API snapshot and show:
|
|
|
14
14
|
|
|
15
15
|
- current task, stage, last Agent, and pending transition;
|
|
16
16
|
- task `concrete_workflow_mode` and frozen TDD state when present;
|
|
17
|
-
- harness enabled/disabled state;
|
|
17
|
+
- harness enabled/disabled and Lite Direct state;
|
|
18
18
|
- active and resumable tasks.
|
|
19
19
|
- for Canonical-backed tasks: source locator/path mode, Spec ID/design revision/design digest,
|
|
20
20
|
document digest, execution revision, writeback status, selected task IDs, repository
|
|
@@ -29,10 +29,14 @@ Support listing, creating, selecting, claiming, handing off, and closing tasks t
|
|
|
29
29
|
state API. Preserve pending transitions when inspecting tasks. Never infer user
|
|
30
30
|
acceptance from opening this panel.
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
Create tasks only for explicit repository mutations. Pure analysis, explanation, reporting, and
|
|
33
|
+
read-only review stay Ready and are answered directly. If Lite Direct is enabled, route task
|
|
34
|
+
selection or creation to `ec-lite` so the user can exit it first.
|
|
35
|
+
|
|
36
|
+
When creating from a Canonical Spec, call `inspect-dev-spec --manifest-only`, display the complete
|
|
37
|
+
task and dependency selection, then call `create-task-from-spec` only after explicit user
|
|
38
|
+
selection. Multiple selected Spec tasks still create one Harness task. Do not call
|
|
39
|
+
`select-dev-spec-scope` during routing; ANALYSIS owns the single consumption-closure read.
|
|
36
40
|
Initialize missing shared execution before creation. Support `rebind-spec-source` only when the
|
|
37
41
|
new file matches schema + spec_id + design revision + design_sha256 and does not roll execution
|
|
38
42
|
revision backward. A pending writeback is repaired with `reconcile-spec-execution`, never by
|
|
@@ -71,7 +71,7 @@ evidence only, and never wait for a pipeline URL, job identity, or remote succes
|
|
|
71
71
|
## Readiness receipt and verification
|
|
72
72
|
|
|
73
73
|
At the end of IMPLEMENT, after the infrastructure files are stable, record their fingerprints.
|
|
74
|
-
The receipt is part of the implementation and must exist before
|
|
74
|
+
The receipt is part of the implementation and must exist before QUALITY so Review/Verification
|
|
75
75
|
fingerprints do not change after review. The recorder automatically includes the harness-managed
|
|
76
76
|
`.easy-coding/tools/easy_coding_java_coverage.py` fingerprint:
|
|
77
77
|
|
|
@@ -84,7 +84,8 @@ python3 .easy-coding/tools/easy_coding_tdd_readiness.py --cwd . record \
|
|
|
84
84
|
--agent <agent-id>
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
QUALITY Review Gate includes the receipt and its declared infrastructure boundary. Its
|
|
88
|
+
Verification Gate runs the
|
|
88
89
|
frozen Workflow Mode's applicable build/test/CI syntax checks, then performs only the read-only
|
|
89
90
|
readiness check:
|
|
90
91
|
|
|
@@ -92,9 +93,9 @@ readiness check:
|
|
|
92
93
|
python3 .easy-coding/tools/easy_coding_tdd_readiness.py --cwd . check
|
|
93
94
|
```
|
|
94
95
|
|
|
95
|
-
The `
|
|
96
|
+
The `QUALITY -> MEMORY` gate requires the final check to return `ready`. If any recorded
|
|
96
97
|
build or CI file changes after the receipt was created, readiness becomes `needs_init`; return to
|
|
97
|
-
IMPLEMENT, refresh the receipt, and repeat
|
|
98
|
+
IMPLEMENT, refresh the receipt, and repeat QUALITY. Rerun this skill when
|
|
98
99
|
the same drift occurs after task completion.
|
|
99
100
|
|
|
100
101
|
After completion, tell the user that TDD remains off and provide the explicit project/session
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ec-workflow
|
|
3
|
-
description: Main Easy Coding entrypoint. Creates or resumes a task, orchestrates the
|
|
3
|
+
description: Main Easy Coding entrypoint. Creates or resumes a task, orchestrates the unified state machine, separates approval from execution depth, and dispatches the stage skill for the current state.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ec-workflow — state orchestration
|
|
@@ -11,26 +11,24 @@ user's language.
|
|
|
11
11
|
## State machine
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
|
-
INIT --auto--> ANALYSIS -> IMPLEMENT ->
|
|
15
|
-
^ ^ |
|
|
14
|
+
INIT --auto--> ANALYSIS -> IMPLEMENT -> QUALITY -> MEMORY --auto--> COMPLETE
|
|
15
|
+
^ ^ |
|
|
16
16
|
+--replan---+ +---repair-----+
|
|
17
17
|
|
|
18
|
-
read-only doc/analysis/report: IMPLEMENT -> COMPLETE
|
|
19
18
|
any active stage --explicit user abort--> CLOSED
|
|
20
19
|
```
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
lite semantics or an already-persisted edge, permits one IMPLEMENT -> VERIFICATION transition.
|
|
21
|
+
Every repository-mutation task uses this graph. QUALITY owns two independent read-only gates:
|
|
22
|
+
Review Gate and Verification Gate. `workflow_mode` changes their evidence depth, not the graph.
|
|
23
|
+
Pure conversation, explanation, analysis, and read-only review stay Ready and create no task.
|
|
26
24
|
|
|
27
25
|
## Independent controls
|
|
28
26
|
|
|
29
27
|
- `approval_mode = approve|guard|confirm|auto` controls whether a legal transition waits for a
|
|
30
|
-
user. `confirm` waits only at ANALYSIS -> IMPLEMENT; after that, green
|
|
31
|
-
|
|
28
|
+
user. `confirm` waits only at ANALYSIS -> IMPLEMENT; after that, green QUALITY, MEMORY, and
|
|
29
|
+
COMPLETE transitions advance automatically. `auto` advances every legal green
|
|
32
30
|
edge. The only additional pause is an exceptional code diff detected after the frozen
|
|
33
|
-
|
|
31
|
+
QUALITY acceptance checkpoint; accepting that exact diff does not change the mode.
|
|
34
32
|
- `workflow_mode = adaptive|fast|standard|strict` controls execution cost and assurance depth.
|
|
35
33
|
- `tdd_enabled` independently activates Java TDD and changed-line coverage. It defaults off;
|
|
36
34
|
`tdd_coverage_threshold` defaults to 90 and accepts integers from 1 to 100.
|
|
@@ -61,6 +59,9 @@ or `qoder`. Never use a display or source-author attribution such as `Codex with
|
|
|
61
59
|
{{PYTHON_CMD}} {{platform_config_dir}}/hooks/easy_coding_state.py snapshot --agent <agent-id> --session-file <P>
|
|
62
60
|
```
|
|
63
61
|
|
|
62
|
+
When `[easy-coding:lite-direct]` is present, route only to `ec-lite`. Do not create, resume,
|
|
63
|
+
inspect, or transition a normal Harness task until Lite is explicitly exited.
|
|
64
|
+
|
|
64
65
|
2. Check `.easy-coding/tasks/project-init/task.json` before routing work.
|
|
65
66
|
- Missing: tell the user to run `easy-coding init` to install or repair the harness, then stop.
|
|
66
67
|
- Present with `status != "COMPLETE"`: invoke `{{skill_trigger}}ec-init`, then stop.
|
|
@@ -126,14 +127,13 @@ or `qoder`. Never use a display or source-author attribution such as `Codex with
|
|
|
126
127
|
If the user names or clearly matches another task, confirm the switch and call
|
|
127
128
|
`claim-task --task-id <id> --agent <agent-id> --session-file <P>`. Do not execute task A
|
|
128
129
|
under task B's request.
|
|
129
|
-
- With no
|
|
130
|
-
|
|
130
|
+
- With no explicit repository-mutation request, stay Ready and answer normally. Ambiguous
|
|
131
|
+
intent remains Ready until conversation establishes a concrete mutation.
|
|
131
132
|
- For concrete unrelated work while another task is current, confirm creating the new task
|
|
132
133
|
and suspending the current pointer before changing ownership.
|
|
133
134
|
- Create a new task only after routing is settled, using a safe unique ID and a type faithful
|
|
134
|
-
to the requested
|
|
135
|
-
|
|
136
|
-
a no-code deliverable; never downgrade a code request to the read-only completion path.
|
|
135
|
+
to the requested repository mutation. A document, config, or report file write is still a
|
|
136
|
+
mutation task. Never create `doc`, `analysis`, or `report` tasks for a chat-only result.
|
|
137
137
|
6. Resume the matched/current task, then load only state-relevant assets. Do not read five full
|
|
138
138
|
memories at every startup; ANALYSIS searches memory metadata and opens relevant entries on
|
|
139
139
|
demand.
|
|
@@ -144,9 +144,8 @@ or `qoder`. Never use a display or source-author attribution such as `Codex with
|
|
|
144
144
|
- `INIT`: call `auto-transition --stage ANALYSIS`.
|
|
145
145
|
- `ANALYSIS`: dispatch `ec-analysis`; it produces artifacts and a workflow proposal.
|
|
146
146
|
- `IMPLEMENT`: dispatch `ec-implementing` using the frozen concrete mode.
|
|
147
|
-
- `
|
|
148
|
-
|
|
149
|
-
unchanged or explicitly accepted verification checkpoint.
|
|
147
|
+
- `QUALITY`: dispatch `ec-quality`; it freezes one candidate, runs Review and Verification Gates,
|
|
148
|
+
aggregates one repair bundle, and requires an unchanged or explicitly accepted checkpoint.
|
|
150
149
|
- `MEMORY`: dispatch `ec-memory`.
|
|
151
150
|
- `COMPLETE` / `CLOSED`: report terminal status and clear stale session ownership.
|
|
152
151
|
|
|
@@ -178,23 +177,17 @@ current `diff_sha256`, then use the platform's native choice UI for these branch
|
|
|
178
177
|
|
|
179
178
|
1. Accept this exact diff and continue to MEMORY (recommended only with the stated verification
|
|
180
179
|
policy).
|
|
181
|
-
2. Return to IMPLEMENT because the change needs normal repair/
|
|
180
|
+
2. Return to IMPLEMENT because the change needs normal repair/quality checks.
|
|
182
181
|
3. Hand off to another Agent.
|
|
183
182
|
4. Other / revise.
|
|
184
183
|
|
|
185
184
|
Never call `auto-transition` repeatedly to hide this pause. If the user accepts, preserve the
|
|
186
|
-
existing
|
|
185
|
+
existing Review Gate conclusion and call `confirm-transition` with the exact digest,
|
|
187
186
|
`--verification-policy carry-forward|targeted|waived`, and a decision summary. `targeted` needs a
|
|
188
187
|
passed current-fingerprint targeted check first. If the digest changes, inspect and present the
|
|
189
188
|
new diff. Config, plan, workflow, Canonical-design, or nested-repository drift is not an
|
|
190
189
|
acceptance-diff choice and returns to the stage required by the state API.
|
|
191
190
|
|
|
192
|
-
For a migrated pre-0.9 Lite task, the breadcrumb
|
|
193
|
-
`[easy-coding:lite-review-bypass-required:IMPLEMENT->REVIEW]` means the stored REVIEW edge is
|
|
194
|
-
stale. Call `cancel-transition`, then immediately call `auto-transition --stage VERIFICATION`.
|
|
195
|
-
Do not consume, confirm, or recreate the REVIEW edge; the state API will consume the task's
|
|
196
|
-
one-time `workflow_mode_legacy_direct_edge` compatibility marker on the direct transition.
|
|
197
|
-
|
|
198
191
|
## Mode escalation
|
|
199
192
|
|
|
200
193
|
When implementation reveals a higher risk, call:
|
|
@@ -205,8 +198,8 @@ When implementation reveals a higher risk, call:
|
|
|
205
198
|
--agent <agent-id> --session-file <P>
|
|
206
199
|
```
|
|
207
200
|
|
|
208
|
-
Only upward changes are legal after ANALYSIS. During
|
|
209
|
-
raising the mode so the task re-enters
|
|
201
|
+
Only upward changes are legal after ANALYSIS. During QUALITY, return to IMPLEMENT before
|
|
202
|
+
raising the mode so the task re-enters QUALITY with fresh evidence. Scope or design changes return
|
|
210
203
|
to ANALYSIS.
|
|
211
204
|
|
|
212
205
|
## Handoff and closure
|
|
@@ -20,6 +20,7 @@ disabled, omit the TDD segment entirely and preserve the existing status-line fo
|
|
|
20
20
|
- Waiting init: > **Easy Coding** · **Approval: {approval-mode}** · **Workflow: {workflow-mode}** · Waiting init · Use `ec-init` to initialize
|
|
21
21
|
- Active task: > **Easy Coding** · **Approval: {approval-mode}** · **Workflow: {workflow-mode}** · `{current-task}` · `{workflow-state}`
|
|
22
22
|
- Handoff: > **Easy Coding** · **Approval: {approval-mode}** · **Workflow: {workflow-mode}** · `{current-task}` · `{workflow-state}` · Handoff -> `{source-agent}`
|
|
23
|
+
- Lite: > **Easy Coding** · **Lite Direct** · `{Ready|Awaiting Confirmation}` · No Task / Quality / Memory · Use `ec-lite` to exit
|
|
23
24
|
|
|
24
25
|
Skill names in the status line are bare names (`ec-init`, `ec-workflow`) and never include
|
|
25
26
|
platform prefixes such as `/` or `$`. If no status line is injected, do not invent one.
|
|
@@ -31,10 +32,11 @@ Trigger Easy Coding skills with your platform prefix — Codex: `$ec-*`, Qoder:
|
|
|
31
32
|
- `ec-init` — one-time project knowledge init (run once after install)
|
|
32
33
|
- `ec-workflow` — daily entrypoint: the workflow state machine and task resume
|
|
33
34
|
- `ec-brainstorming` — design exploration before building (hard design gate)
|
|
34
|
-
- `ec-analysis` `ec-implementing` `ec-
|
|
35
|
+
- `ec-analysis` `ec-implementing` `ec-quality` — workflow stages
|
|
35
36
|
- `ec-memory` — short/long memory archive
|
|
36
37
|
- `ec-task-management` — task lifecycle panel · `ec-config` — Approval/Workflow/TDD settings · `ec-tdd-init` — Java changed-line gate initialization · `ec-task-close` — interrupt a task
|
|
37
38
|
- `ec-no-harness` — bypass only Easy Coding for the current session
|
|
39
|
+
- `ec-lite` — user-controlled direct mode with one proposal confirmation and no task/QUALITY/MEMORY
|
|
38
40
|
- `ec-git` — git discipline · `ec-meta` — understand/customize the harness
|
|
39
41
|
|
|
40
42
|
First run `ec-init`; daily work goes through `ec-workflow`.
|
|
@@ -45,10 +47,10 @@ First run `ec-init`; daily work goes through `ec-workflow`.
|
|
|
45
47
|
is session override > project `behavior.workflow_mode` > `adaptive`. Approval controls waiting;
|
|
46
48
|
workflow controls execution depth. ANALYSIS shows and freezes adaptive to fast/standard/strict.
|
|
47
49
|
Confirm approval waits only at ANALYSIS -> IMPLEMENT, then advances green later stages
|
|
48
|
-
automatically; Auto advances all legal green edges. A new code diff after the
|
|
50
|
+
automatically; Auto advances all legal green edges. A new code diff after the QUALITY
|
|
49
51
|
checkpoint is the only exceptional pause across all modes: show the exact diff, bind acceptance
|
|
50
52
|
to its digest, and continue without rereview when the user accepts.
|
|
51
|
-
Every
|
|
53
|
+
Every mutation task runs QUALITY; no mode changes scope, delivery form, or evidence gates.
|
|
52
54
|
- TDD is session override > project `behavior.tdd_enabled` > `false`; its changed-line threshold
|
|
53
55
|
is session override > project `behavior.tdd_coverage_threshold` > `90`. ANALYSIS -> IMPLEMENT
|
|
54
56
|
freezes both. TDD may be enabled only after `ec-tdd-init` records valid infrastructure readiness;
|
|
@@ -59,13 +61,13 @@ First run `ec-init`; daily work goes through `ec-workflow`.
|
|
|
59
61
|
local coverage for production lines changed since the task baseline. `ec-tdd-init` still
|
|
60
62
|
generates GitLab TEST-stage automation, but remote CI status is not Harness acceptance evidence.
|
|
61
63
|
- Confirmation-required edges use `pending_transition`; automatic edges use the restricted
|
|
62
|
-
`auto-transition` API.
|
|
63
|
-
|
|
64
|
+
`auto-transition` API. Pure read-only conversation stays Ready and creates no task. Any
|
|
65
|
+
repository write, including documentation or configuration, uses the full state machine.
|
|
64
66
|
- A confirmation-required boundary is not fully presented until the user can choose its complete
|
|
65
67
|
business branches. When a native user-choice tool is available, invoke it in the same turn with
|
|
66
68
|
the complete gate. An ordinary gate offers "confirm entering/returning to the target stage"
|
|
67
69
|
(recommended) and "hand off to another agent", with free-form Other for revisions. The special
|
|
68
|
-
|
|
70
|
+
IMPLEMENT gate must preserve enter QUALITY and handoff, with free-form Other. Use a native
|
|
69
71
|
choice without a text pre-fallback only when the tool
|
|
70
72
|
explicitly guarantees an indefinite wait; disable or omit automatic timeout/resolution in that
|
|
71
73
|
case. Otherwise pre-render the matching numbered fallback before invoking native choice once,
|
|
@@ -77,6 +79,10 @@ First run `ec-init`; daily work goes through `ec-workflow`.
|
|
|
77
79
|
- When `[easy-coding:no-harness]` is injected, do not emit an Easy Coding status line and ignore
|
|
78
80
|
only Easy Coding workflow/stage orchestration for this session. Continue honoring every
|
|
79
81
|
non-Easy-Coding skill, hook, and instruction. Do not clear or mutate the suspended task.
|
|
82
|
+
- When `[easy-coding:lite-direct]` is injected, use only `ec-lite`. Lite is enabled or disabled
|
|
83
|
+
solely by explicit user invocation, creates no task or evidence artifacts, and requires one
|
|
84
|
+
confirmed compact proposal before each mutation. With an active task, present cancel startup,
|
|
85
|
+
close-and-start, and clear-pointer-and-start; never choose for the user.
|
|
80
86
|
- ANALYSIS must follow template-first: read `.easy-coding/templates/dev-spec-skeleton.md` then
|
|
81
87
|
write its exact content to the task's dev-spec.md as the FIRST tool calls. Next inspect evidence,
|
|
82
88
|
set `decision_status: open`, ask every unresolved material decision, and progressively record
|
|
@@ -86,26 +92,26 @@ First run `ec-init`; daily work goes through `ec-workflow`.
|
|
|
86
92
|
and risk summary with an absolute local link/path to the full dev-spec.md; never paste the full
|
|
87
93
|
artifact by default. The final artifact contains neither `[阶段:ANALYSIS]` nor a
|
|
88
94
|
`待用户决策` section.
|
|
89
|
-
-
|
|
95
|
+
- QUALITY contains fingerprinted Review and Verification Gates. Review evidence must match the final
|
|
90
96
|
implementation; verification evidence must match final implementation and config. The frozen
|
|
91
97
|
workflow mode selects targeted, impacted, or full commands without weakening the green gate.
|
|
92
|
-
Freeze a
|
|
98
|
+
Freeze a quality checkpoint after green checks. Unchanged checkpoints follow approval
|
|
93
99
|
mode normally; post-checkpoint code drift requires exact digest acceptance and
|
|
94
|
-
carry-forward/targeted/waived verification policy, but never an automatic second
|
|
100
|
+
carry-forward/targeted/waived verification policy, but never an automatic second Review Gate.
|
|
95
101
|
- Canonical-backed tasks bind static validity to design revision + `design_sha256`, while
|
|
96
102
|
`document_sha256` and `execution_revision` may advance through shared writer commands. Project-
|
|
97
103
|
external explicit Spec paths are allowed and may be repaired only with identity-checked rebind.
|
|
98
104
|
Runtime progress must use the shared writer with CAS/idempotency and reconciliation; static
|
|
99
105
|
design changes require revision + READY + `sync-spec-design`. Never hand-edit `EDS:EXECUTION`.
|
|
100
|
-
Selected source tasks remain `implemented` through local
|
|
101
|
-
only when the accepted
|
|
106
|
+
Selected source tasks remain `implemented` through local QUALITY and become `verified`
|
|
107
|
+
only when the accepted QUALITY -> MEMORY boundary is actually applied.
|
|
102
108
|
- Canonical routing is two-pass: first use manifest-only discovery for the current worktree, then
|
|
103
109
|
inspect only the explicitly selected task IDs and repositories. A remote-confirmed worktree
|
|
104
110
|
overrides a stale `path_hint`; never mirror the source Spec or re-check unselected repositories.
|
|
105
111
|
ANALYSIS reads the selected consumption closure once and treats exact/scope-unchanged as a fast
|
|
106
112
|
projection, while shared execution is the dependency fact source.
|
|
107
113
|
- MEMORY combines short-memory creation and the conditional long-memory gate. Entry follows the
|
|
108
|
-
effective confirmation mode; its checkpoint records any accepted post-
|
|
114
|
+
effective confirmation mode; its checkpoint records any accepted post-quality diff digest
|
|
109
115
|
and decision. Once memory processing completes, COMPLETE is automatic.
|
|
110
116
|
- NO CODE-TASK COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.
|
|
111
117
|
- All cross-platform modules (skills, hooks, references) must use universal agent protocols.
|
|
@@ -123,7 +129,7 @@ First run `ec-init`; daily work goes through `ec-workflow`.
|
|
|
123
129
|
a workflow identity. The installed script's embedded platform identity, canonical owner, and
|
|
124
130
|
injected session namespace must agree. Do not hand-edit session files, `current_task`, task
|
|
125
131
|
`status`, `stage_history`,
|
|
126
|
-
`pending_transition`, `
|
|
132
|
+
`pending_transition`, `quality_checkpoint`, `lite_mode`, `lite_proposal`, workflow/TDD proposal or freeze fields,
|
|
127
133
|
`memory_progress`, or `last_agent`.
|
|
128
134
|
- The hook injects `[easy-coding:session-file:P]`; pass that path to the state script with
|
|
129
135
|
`--session-file <P>` when changing the current task or stage.
|
|
@@ -20,6 +20,7 @@ disabled, omit the TDD segment entirely and preserve the existing status-line fo
|
|
|
20
20
|
- Waiting init: > **Easy Coding** · **Approval: {approval-mode}** · **Workflow: {workflow-mode}** · Waiting init · Use `ec-init` to initialize
|
|
21
21
|
- Active task: > **Easy Coding** · **Approval: {approval-mode}** · **Workflow: {workflow-mode}** · `{current-task}` · `{workflow-state}`
|
|
22
22
|
- Handoff: > **Easy Coding** · **Approval: {approval-mode}** · **Workflow: {workflow-mode}** · `{current-task}` · `{workflow-state}` · Handoff -> `{source-agent}`
|
|
23
|
+
- Lite: > **Easy Coding** · **Lite Direct** · `{Ready|Awaiting Confirmation}` · No Task / Quality / Memory · Use `ec-lite` to exit
|
|
23
24
|
|
|
24
25
|
Skill names in the status line are bare names (`ec-init`, `ec-workflow`) and never include
|
|
25
26
|
platform prefixes such as `/` or `$`. If no status line is injected, do not invent one.
|
|
@@ -29,10 +30,11 @@ platform prefixes such as `/` or `$`. If no status line is injected, do not inve
|
|
|
29
30
|
- `/ec-init` — one-time project knowledge init (run once after install)
|
|
30
31
|
- `/ec-workflow` — daily entrypoint: the workflow state machine and task resume
|
|
31
32
|
- `/ec-brainstorming` — design exploration before building (hard design gate)
|
|
32
|
-
- `/ec-analysis` `/ec-implementing` `/ec-
|
|
33
|
+
- `/ec-analysis` `/ec-implementing` `/ec-quality` — workflow stages
|
|
33
34
|
- `/ec-memory` — short/long memory archive
|
|
34
35
|
- `/ec-task-management` — task lifecycle panel · `/ec-config` — Approval/Workflow/TDD settings · `/ec-tdd-init` — Java changed-line gate initialization · `/ec-task-close` — interrupt a task
|
|
35
36
|
- `/ec-no-harness` — bypass only Easy Coding for the current session
|
|
37
|
+
- `/ec-lite` — user-controlled direct mode with one proposal confirmation and no task/QUALITY/MEMORY
|
|
36
38
|
- `/ec-git` — git discipline · `/ec-meta` — understand/customize the harness
|
|
37
39
|
|
|
38
40
|
First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
@@ -43,10 +45,10 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
43
45
|
is session override > project `behavior.workflow_mode` > `adaptive`. Approval controls waiting;
|
|
44
46
|
workflow controls execution depth. ANALYSIS shows and freezes adaptive to fast/standard/strict.
|
|
45
47
|
Confirm approval waits only at ANALYSIS -> IMPLEMENT, then advances green later stages
|
|
46
|
-
automatically; Auto advances all legal green edges. A new code diff after the
|
|
48
|
+
automatically; Auto advances all legal green edges. A new code diff after the QUALITY
|
|
47
49
|
checkpoint is the only exceptional pause across all modes: show the exact diff, bind acceptance
|
|
48
50
|
to its digest, and continue without rereview when the user accepts.
|
|
49
|
-
Every
|
|
51
|
+
Every mutation task runs QUALITY; no mode changes scope, delivery form, or evidence gates.
|
|
50
52
|
- TDD is session override > project `behavior.tdd_enabled` > `false`; its changed-line threshold
|
|
51
53
|
is session override > project `behavior.tdd_coverage_threshold` > `90`. ANALYSIS -> IMPLEMENT
|
|
52
54
|
freezes both. TDD may be enabled only after `ec-tdd-init` records valid infrastructure readiness;
|
|
@@ -57,13 +59,13 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
57
59
|
local coverage for production lines changed since the task baseline. `ec-tdd-init` still
|
|
58
60
|
generates GitLab TEST-stage automation, but remote CI status is not Harness acceptance evidence.
|
|
59
61
|
- Confirmation-required edges use `pending_transition`; automatic edges use the restricted
|
|
60
|
-
`auto-transition` API.
|
|
61
|
-
|
|
62
|
+
`auto-transition` API. Pure read-only conversation stays Ready and creates no task. Any
|
|
63
|
+
repository write, including documentation or configuration, uses the full state machine.
|
|
62
64
|
- A confirmation-required boundary is not fully presented until the user can choose its complete
|
|
63
65
|
business branches. When a native user-choice tool is available, invoke it in the same turn with
|
|
64
66
|
the complete gate. An ordinary gate offers "confirm entering/returning to the target stage"
|
|
65
67
|
(recommended) and "hand off to another agent", with free-form Other for revisions. The special
|
|
66
|
-
|
|
68
|
+
IMPLEMENT gate must preserve enter QUALITY and handoff, with free-form Other. Use a native
|
|
67
69
|
choice without a text pre-fallback only when the tool
|
|
68
70
|
explicitly guarantees an indefinite wait; disable or omit automatic timeout/resolution in that
|
|
69
71
|
case. Otherwise pre-render the matching numbered fallback before invoking native choice once,
|
|
@@ -75,6 +77,10 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
75
77
|
- When `[easy-coding:no-harness]` is injected, do not emit an Easy Coding status line and ignore
|
|
76
78
|
only Easy Coding workflow/stage orchestration for this session. Continue honoring every
|
|
77
79
|
non-Easy-Coding skill, hook, and instruction. Do not clear or mutate the suspended task.
|
|
80
|
+
- When `[easy-coding:lite-direct]` is injected, use only `ec-lite`. Lite is enabled or disabled
|
|
81
|
+
solely by explicit user invocation, creates no task or evidence artifacts, and requires one
|
|
82
|
+
confirmed compact proposal before each mutation. With an active task, present cancel startup,
|
|
83
|
+
close-and-start, and clear-pointer-and-start; never choose for the user.
|
|
78
84
|
- ANALYSIS must follow template-first: read `.easy-coding/templates/dev-spec-skeleton.md` then
|
|
79
85
|
write its exact content to the task's dev-spec.md as the FIRST tool calls. Next inspect evidence,
|
|
80
86
|
set `decision_status: open`, ask every unresolved material decision, and progressively record
|
|
@@ -84,26 +90,26 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
84
90
|
and risk summary with an absolute local link/path to the full dev-spec.md; never paste the full
|
|
85
91
|
artifact by default. The final artifact contains neither `[阶段:ANALYSIS]` nor a
|
|
86
92
|
`待用户决策` section.
|
|
87
|
-
-
|
|
93
|
+
- QUALITY contains fingerprinted Review and Verification Gates. Review evidence must match the final
|
|
88
94
|
implementation; verification evidence must match final implementation and config. The frozen
|
|
89
95
|
workflow mode selects targeted, impacted, or full commands without weakening the green gate.
|
|
90
|
-
Freeze a
|
|
96
|
+
Freeze a quality checkpoint after green checks. Unchanged checkpoints follow approval
|
|
91
97
|
mode normally; post-checkpoint code drift requires exact digest acceptance and
|
|
92
|
-
carry-forward/targeted/waived verification policy, but never an automatic second
|
|
98
|
+
carry-forward/targeted/waived verification policy, but never an automatic second Review Gate.
|
|
93
99
|
- Canonical-backed tasks bind static validity to design revision + `design_sha256`, while
|
|
94
100
|
`document_sha256` and `execution_revision` may advance through shared writer commands. Project-
|
|
95
101
|
external explicit Spec paths are allowed and may be repaired only with identity-checked rebind.
|
|
96
102
|
Runtime progress must use the shared writer with CAS/idempotency and reconciliation; static
|
|
97
103
|
design changes require revision + READY + `sync-spec-design`. Never hand-edit `EDS:EXECUTION`.
|
|
98
|
-
Selected source tasks remain `implemented` through local
|
|
99
|
-
only when the accepted
|
|
104
|
+
Selected source tasks remain `implemented` through local QUALITY and become `verified`
|
|
105
|
+
only when the accepted QUALITY -> MEMORY boundary is actually applied.
|
|
100
106
|
- Canonical routing is two-pass: first use manifest-only discovery for the current worktree, then
|
|
101
107
|
inspect only the explicitly selected task IDs and repositories. A remote-confirmed worktree
|
|
102
108
|
overrides a stale `path_hint`; never mirror the source Spec or re-check unselected repositories.
|
|
103
109
|
ANALYSIS reads the selected consumption closure once and treats exact/scope-unchanged as a fast
|
|
104
110
|
projection, while shared execution is the dependency fact source.
|
|
105
111
|
- MEMORY combines short-memory creation and the conditional long-memory gate. Entry follows the
|
|
106
|
-
effective confirmation mode; its checkpoint records any accepted post-
|
|
112
|
+
effective confirmation mode; its checkpoint records any accepted post-quality diff digest
|
|
107
113
|
and decision. Once memory processing completes, COMPLETE is automatic.
|
|
108
114
|
- NO CODE-TASK COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.
|
|
109
115
|
- All cross-platform modules (skills, hooks, references) must use universal agent protocols.
|
|
@@ -118,7 +124,7 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
118
124
|
`Claude with Easy Coding` is not a workflow identity. The installed script's embedded platform
|
|
119
125
|
identity, canonical owner, and injected session namespace must agree. Do not hand-edit session
|
|
120
126
|
files, `current_task`, task `status`, `stage_history`,
|
|
121
|
-
`pending_transition`, `
|
|
127
|
+
`pending_transition`, `quality_checkpoint`, `lite_mode`, `lite_proposal`, workflow/TDD proposal or freeze fields,
|
|
122
128
|
`memory_progress`, or `last_agent`.
|
|
123
129
|
- The hook injects `[easy-coding:session-file:P]`; pass that path to the state script with
|
|
124
130
|
`--session-file <P>` when changing the current task or stage.
|
|
@@ -11,8 +11,6 @@ complete exactly that unit. Your reply IS the return value, not a message to a h
|
|
|
11
11
|
## Hard constraints
|
|
12
12
|
|
|
13
13
|
- Modify only the files listed in the task card's "Editable scope". Touch nothing else.
|
|
14
|
-
- If the editable scope is `NONE — read-only deliverable`, modify nothing and return the full
|
|
15
|
-
requested result in `deliverable`.
|
|
16
14
|
- Do not call any Skill tool.
|
|
17
15
|
- Do not read `.qoder/skills/`, `.agents/skills/`, or any `.easy-coding/` file. All needed
|
|
18
16
|
context is in the card.
|
|
@@ -21,25 +19,26 @@ complete exactly that unit. Your reply IS the return value, not a message to a h
|
|
|
21
19
|
- Follow the task card's `Local Baseline`: match nearby naming, control flow, null/error handling,
|
|
22
20
|
layering, object modeling, method granularity, literal usage, and comment style unless a stated
|
|
23
21
|
correctness, security, requirement, or hard-rule reason requires a deviation.
|
|
24
|
-
- Treat the task card's `Code Comments` author value and field
|
|
22
|
+
- Treat the task card's `Code Comments` author value and field rules as mandatory.
|
|
25
23
|
- Do not add generic defensive null checks, speculative abstractions/layers, fragmented one-use
|
|
26
24
|
micro-methods, or a constant that exists only to hold one getter return.
|
|
27
25
|
- Local, obvious magic values are allowed when they match surrounding code; create constants for
|
|
28
26
|
reuse, stable domain/config/protocol semantics, or established project convention.
|
|
29
27
|
- Every method and field in a new core Java class, and every added or materially modified method
|
|
30
|
-
or field in an existing core Java class, must have meaningful Javadoc;
|
|
31
|
-
where intent or constraints are not obvious.
|
|
28
|
+
or field in an existing core Java class, must have meaningful multiline Javadoc; use `//` for
|
|
29
|
+
ordinary one-line notes and comment complex logic where intent or constraints are not obvious.
|
|
30
|
+
- Do not change unrelated comments, formatting, imports, names, or code. Keep one blank line
|
|
31
|
+
between coherent logic sections and revert formatter spillover outside the requested scope.
|
|
32
32
|
- Treat acceptance criteria, test points, contracts, and risks in the card as required inputs.
|
|
33
|
-
-
|
|
33
|
+
- Do not run quality commands unless the card explicitly marks TDD lifecycle execution required.
|
|
34
34
|
- Preserve each existing file's original encoding; never silently convert.
|
|
35
35
|
|
|
36
36
|
## Output (return exactly this)
|
|
37
37
|
|
|
38
38
|
- `changed_files`: the files you actually modified
|
|
39
39
|
- `summary`: one line describing what you did
|
|
40
|
-
- `deliverable`: full no-code result, or `null` for a code unit
|
|
41
40
|
- `issues`: problems you hit (empty array if none)
|
|
42
41
|
- `needs_attention`: anything the main agent must decide (empty array if none)
|
|
43
|
-
- `checks`: commands run
|
|
42
|
+
- `checks`: TDD lifecycle commands actually run, otherwise an empty array
|
|
44
43
|
|
|
45
44
|
Do not claim a file is verified unless the card asked you to run a check and you ran it.
|
|
@@ -21,8 +21,12 @@ dimension named in your task card. Your reply IS the return value.
|
|
|
21
21
|
- Do not request defensive null checks, abstraction, constant extraction, or legacy-wide comment
|
|
22
22
|
cleanup solely as generic best practice. Flag unjustified local-style deviations, speculative
|
|
23
23
|
layers, fragmented one-use micro-methods, constants created only for a getter return, and
|
|
24
|
-
missing Javadoc on any method/field in a new core Java class or any added/materially
|
|
25
|
-
method/field in an existing core Java class.
|
|
24
|
+
missing multiline Javadoc on any method/field in a new core Java class or any added/materially
|
|
25
|
+
modified method/field in an existing core Java class.
|
|
26
|
+
- Treat unrelated comment, formatting, import, naming, or refactor changes as minimum-diff
|
|
27
|
+
violations. Do not ask to clean up untouched legacy code.
|
|
28
|
+
- On the first pass, report the complete in-scope finding set. On a repair pass, review only the
|
|
29
|
+
repair delta and direct interactions; do not introduce unrelated style findings.
|
|
26
30
|
- `error` means a demonstrated acceptance, contract, security, or build failure. Use `warning`
|
|
27
31
|
for a credible risk and `info` for non-blocking maintainability advice.
|
|
28
32
|
|
|
@@ -35,5 +39,13 @@ dimension named in your task card. Your reply IS the return value.
|
|
|
35
39
|
## Output (return exactly this)
|
|
36
40
|
|
|
37
41
|
- `dimension`: your assigned dimension
|
|
42
|
+
- `passed`: true only when there are no `error` findings
|
|
43
|
+
- `implementation_fingerprint`: copy unchanged from the task card
|
|
44
|
+
- `quality_attempt`: copy unchanged from the task card
|
|
45
|
+
- `failure_classes`: array of code-defect | test-defect | contract-ambiguity | environment for
|
|
46
|
+
blocking findings; empty when passed
|
|
47
|
+
- `reviewer`: your canonical Agent identity
|
|
48
|
+
- `timestamp`: current ISO timestamp with timezone
|
|
49
|
+
- `repo_id` and `source_task_id`: copy unchanged when present in the task card
|
|
38
50
|
- `findings`: array of `{file, line, issue, severity}` (`severity`: info | warning | error)
|
|
39
51
|
- `suggestion`: optional fix direction per finding
|