@chenmk/superflow 0.5.20 → 0.5.22
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/INSTALL.en.md +2 -0
- package/INSTALL.md +2 -0
- package/assets/scripts/superflow-delivery-check.sh +36 -6
- package/assets/scripts/superflow-review-coverage.mjs +34 -0
- package/assets/scripts/superflow-test-report-lint.py +125 -4
- package/assets/skill-registry.json +23 -8
- package/assets/skills/openspec-apply-change/SKILL.md +7 -0
- package/assets/skills/openspec-archive-change/SKILL.md +13 -1
- package/assets/skills/superflow-archive/SKILL.md +17 -0
- package/assets/skills/superflow-design/SKILL.md +15 -1
- package/assets/skills/superflow-docs/SKILL.md +11 -0
- package/assets/skills/superflow-implement/SKILL.md +22 -0
- package/assets/skills/superflow-pipeline/SKILL.md +6 -1
- package/assets/skills/superflow-pipeline/references/architecture-design-template.md +4 -2
- package/assets/skills/superflow-pipeline/references/batch-prompt-template.md +6 -1
- package/assets/skills/superflow-pipeline/references/document-review-coverage.md +26 -0
- package/assets/skills/superflow-pipeline/references/document-templates.md +7 -0
- package/assets/skills/superflow-pipeline/references/implementation-prompt-template.md +56 -35
- package/assets/skills/superflow-pipeline/references/managed-work.md +6 -0
- package/assets/skills/superflow-pipeline/references/mock-strategy-guide.md +28 -74
- package/assets/skills/superflow-pipeline/references/orchestration.md +43 -101
- package/assets/skills/superflow-pipeline/references/quality-gate.md +8 -4
- package/assets/skills/superflow-pipeline/references/reviewer-checklist.md +107 -3
- package/assets/skills/superflow-pipeline/references/superpower-technical-design-template.md +30 -0
- package/assets/skills/superflow-pipeline/references/test-execution-template.md +16 -12
- package/assets/skills/superflow-pipeline/references/test-guide.md +82 -30
- package/assets/skills/superflow-pipeline/scripts/superflow-archive.sh +57 -10
- package/assets/skills/superflow-pipeline/scripts/superflow-guard.sh +23 -6
- package/assets/skills/superflow-quick-dev/SKILL.md +3 -3
- package/assets/skills/superflow-verify/SKILL.md +28 -12
- package/assets/skills-en/openspec-apply-change/SKILL.md +8 -0
- package/assets/skills-en/openspec-archive-change/SKILL.md +17 -1
- package/assets/skills-en/superflow-archive/SKILL.md +20 -0
- package/assets/skills-en/superflow-design/SKILL.md +14 -1
- package/assets/skills-en/superflow-docs/SKILL.md +13 -0
- package/assets/skills-en/superflow-implement/SKILL.md +22 -0
- package/assets/skills-en/superflow-pipeline/SKILL.md +6 -0
- package/assets/skills-en/superflow-pipeline/references/architecture-design-template.md +3 -0
- package/assets/skills-en/superflow-pipeline/references/batch-prompt-template.md +7 -0
- package/assets/skills-en/superflow-pipeline/references/document-review-coverage.md +32 -0
- package/assets/skills-en/superflow-pipeline/references/document-templates.md +8 -0
- package/assets/skills-en/superflow-pipeline/references/implementation-prompt-template.md +33 -0
- package/assets/skills-en/superflow-pipeline/references/managed-work.md +10 -0
- package/assets/skills-en/superflow-pipeline/references/mock-strategy-guide.md +41 -11
- package/assets/skills-en/superflow-pipeline/references/orchestration.md +11 -0
- package/assets/skills-en/superflow-pipeline/references/quality-gate.md +9 -0
- package/assets/skills-en/superflow-pipeline/references/reviewer-checklist.md +132 -1
- package/assets/skills-en/superflow-pipeline/references/superpower-technical-design-template.md +36 -0
- package/assets/skills-en/superflow-pipeline/references/test-execution-template.md +5 -0
- package/assets/skills-en/superflow-pipeline/references/test-guide.md +106 -12
- package/assets/skills-en/superflow-pipeline/scripts/superflow-archive.sh +57 -10
- package/assets/skills-en/superflow-pipeline/scripts/superflow-guard.sh +23 -6
- package/assets/skills-en/superflow-quick-dev/SKILL.md +6 -3
- package/assets/skills-en/superflow-verify/SKILL.md +36 -12
- package/dist/app/cli.js +5 -5
- package/dist/app/cli.js.map +1 -1
- package/dist/app/commands/review-coverage.js +8 -3
- package/dist/app/commands/review-coverage.js.map +1 -1
- package/dist/app/commands/update.js +2 -0
- package/dist/app/commands/update.js.map +1 -1
- package/dist/build-info.json +1 -0
- package/dist/domains/config/cli-help.js +8 -0
- package/dist/domains/config/cli-help.js.map +1 -1
- package/dist/domains/managed-work/control.js.map +1 -1
- package/dist/domains/managed-work/failure.js +9 -0
- package/dist/domains/managed-work/failure.js.map +1 -1
- package/dist/domains/managed-work/prompts.js +29 -4
- package/dist/domains/managed-work/prompts.js.map +1 -1
- package/dist/domains/managed-work/runner.js +29 -24
- package/dist/domains/managed-work/runner.js.map +1 -1
- package/dist/domains/managed-work/service.js +147 -19
- package/dist/domains/managed-work/service.js.map +1 -1
- package/dist/domains/managed-work/types.js.map +1 -1
- package/dist/domains/quick-dev/gate.js +0 -2
- package/dist/domains/quick-dev/gate.js.map +1 -1
- package/dist/domains/review/coverage.js +12 -4
- package/dist/domains/review/coverage.js.map +1 -1
- package/dist/domains/review/report.js +67 -2
- package/dist/domains/review/report.js.map +1 -1
- package/dist/mcp/runtime-identity.js +19 -4
- package/dist/mcp/runtime-identity.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/platform/agent-process.js +48 -9
- package/dist/platform/agent-process.js.map +1 -1
- package/dist/platform/process-liveness.js +46 -0
- package/dist/platform/process-liveness.js.map +1 -1
- package/package.json +2 -1
- package/scripts/ensure-bin-modes.js +37 -2
- package/scripts/verify-changed.mjs +321 -0
package/assets/skills-en/superflow-pipeline/references/superpower-technical-design-template.md
CHANGED
|
@@ -28,6 +28,27 @@ canonical_sources:
|
|
|
28
28
|
- If this document conflicts with canonical sources, stop and return to
|
|
29
29
|
`$superflow-docs`; do not let implementation prompts carry the conflict forward.
|
|
30
30
|
|
|
31
|
+
## Directory Changes
|
|
32
|
+
|
|
33
|
+
List Created / Modified / Deleted / Not created modules and key files, with
|
|
34
|
+
responsibility and reuse evidence. Trees or lists are fine; annotate action,
|
|
35
|
+
owner, and reason rather than names alone. Use None for empty categories.
|
|
36
|
+
Not created records considered modules/helpers/caches/state/parallel entries and
|
|
37
|
+
why they were rejected. Record implementation-local helper/method edits without
|
|
38
|
+
automatically expanding business scope. Details within confirmed modules that
|
|
39
|
+
preserve contracts need no new requirement confirmation; frozen HOW repairs still
|
|
40
|
+
return to the document owner for handoff refresh and existing review. New owners,
|
|
41
|
+
cross-module dependencies, allowed path scope, or acceptance obligations return
|
|
42
|
+
to clarification/docs before coding. Runtime protections, source coverage, and
|
|
43
|
+
existing approval rules remain; this inventory creates no parallel state.
|
|
44
|
+
|
|
45
|
+
| Action | Module/file | Owner and responsibility | Reuse/evidence or rejection reason |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| Created | None / `<path>` | | |
|
|
48
|
+
| Modified | None / `<path>` | | |
|
|
49
|
+
| Deleted | None / `<path>` | | |
|
|
50
|
+
| Not created | None / `<candidate>` | | |
|
|
51
|
+
|
|
31
52
|
## Source-Level HOW
|
|
32
53
|
|
|
33
54
|
| Requirement/Scenario | Code anchor | Current behavior | Target HOW | Files/methods | Risk |
|
|
@@ -45,6 +66,21 @@ that can be derived safely, and do not add async compensation or caching when a
|
|
|
45
66
|
single synchronous transaction closes the contract. Every retained item must
|
|
46
67
|
explain why a simpler option fails; remove it when there is no evidence.
|
|
47
68
|
|
|
69
|
+
## Data Scale And Processing Cost
|
|
70
|
+
|
|
71
|
+
Complete this for data-intensive paths such as large or growing collections,
|
|
72
|
+
batch processing, import/export, aggregation, repeated scans, or fan-out. Record
|
|
73
|
+
current/expected scale, the growth boundary, work and primary CPU/memory/I/O or
|
|
74
|
+
round-trip cost per request/job, alternatives and trade-offs, and representative
|
|
75
|
+
evidence validating the selected approach. Match evidence to risk: source/query
|
|
76
|
+
analysis or representative functional cases can suffice for small changes; a
|
|
77
|
+
performance benchmark is not mandatory. If there is no meaningful data-volume
|
|
78
|
+
sensitivity, mark this not applicable with a brief reason.
|
|
79
|
+
|
|
80
|
+
| Data path | Current/expected scale and growth boundary | Work and primary cost | Trade-offs | Validation evidence |
|
|
81
|
+
| --------- | ------------------------------------------ | --------------------- | ---------- | ------------------- |
|
|
82
|
+
| `<path or reason not applicable>` | `<cardinality/rate/window>` | `<records per request/job, scans/allocations/round trips>` | `<choice and rejected options>` | `<query plan/source anchor/representative case/benchmark>` |
|
|
83
|
+
|
|
48
84
|
## Architecture Boundary And Call Direction
|
|
49
85
|
|
|
50
86
|
Use this whenever the change crosses repositories, services, SDKs, MQ,
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Test Execution Template
|
|
2
2
|
|
|
3
|
+
Read [test-guide.md](test-guide.md) first and inherit frozen tests.md / Quick Spec
|
|
4
|
+
signals. Fill applicable cases; give source reasons for inapplicable fields and
|
|
5
|
+
BLOCKED/PARTIAL for unavailable required environments. Existing coverage/receipts
|
|
6
|
+
check facts; template examples never redesign tests or reduce frozen gates.
|
|
7
|
+
|
|
3
8
|
Use the environment frozen in tests.md; do not substitute local containers or
|
|
4
9
|
mocks for an explicitly required shared development environment. When the user
|
|
5
10
|
requires every endpoint to be exercised, freeze an endpoint/role/scenario matrix,
|
|
@@ -1,16 +1,110 @@
|
|
|
1
|
-
# Test
|
|
1
|
+
# Test Selection and Verification Loop
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Scope and ownership
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
third-party sandbox.
|
|
5
|
+
Read when generating tests.md, starting implementation, repairing findings, or
|
|
6
|
+
verifying delivery. Inputs are confirmed requirements, source changes, existing
|
|
7
|
+
project tests, and frozen contracts. Write outputs into existing tests.md / Quick
|
|
8
|
+
Spec and test-report.md. Documentation-only work checks its contracts; pure
|
|
9
|
+
functions check their seam without inventing application or database requirements.
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
superflow-docs freezes the plan; the implementer executes and records evidence;
|
|
12
|
+
superflow-verify / Host judges sufficiency and historical applicability. Existing
|
|
13
|
+
coverage/receipt/lint checks deterministic facts; the existing state machine owns
|
|
14
|
+
state. Database machine contracts come only from
|
|
15
|
+
[document-review-coverage.md](document-review-coverage.md#database-layer-contract).
|
|
16
|
+
Reuse testLayer, mockBoundary, and execution-receipt.v1, without another evidence
|
|
17
|
+
format or level system. Superflow distributes this guide; no ake verification
|
|
18
|
+
skill installation or .ake memory is required.
|
|
13
19
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
## Select signals before implementation
|
|
21
|
+
|
|
22
|
+
Search existing tests, build wiring, environment configuration, and project rules.
|
|
23
|
+
Reuse seams, commands, and tools. Before production edits, map each affected
|
|
24
|
+
behavior to these signals and freeze case IDs, commands, assertions, and evidence
|
|
25
|
+
paths. Give source reasons for inapplicable signals. Missing environments for
|
|
26
|
+
required cases mean BLOCKED/PARTIAL, never inapplicable. Implementers cannot
|
|
27
|
+
remove frozen obligations; omissions return to the document owner.
|
|
28
|
+
|
|
29
|
+
| Change/risk | Signals to freeze |
|
|
30
|
+
|---|---|
|
|
31
|
+
| Pure function or local algorithm | Narrow unit checks, boundaries/failures, applicable build and static checks |
|
|
32
|
+
| Component wiring or configuration | Above checks plus real application/context startup and readiness |
|
|
33
|
+
| SQL, Mapper, persistence, transactions, CAS, data-driven behavior | Logic checks plus production statements against the same database engine; full SDD also covers real consuming entries |
|
|
34
|
+
| API, public fields, authentication | Existing contract tests/snapshots plus affected real entries; establish new contract baselines |
|
|
35
|
+
| New capability spanning API, business logic, storage | Build, unit, wiring, real database, API contract, at least one real main flow |
|
|
36
|
+
| Bug fix | Same symptom RED → GREEN plus affected regression; environment failure is not business RED |
|
|
37
|
+
| MQ, devices, callbacks, cache, third-party semantics | Freeze real protocol/backend/entry verification and isolatable boundaries; missing environment remains blocked |
|
|
38
|
+
| Report format or test isolation only | Check affected contracts/evidence without automatically rerunning unrelated business flows |
|
|
39
|
+
|
|
40
|
+
Keep project case level numbering; do not import ake L1/L3/L5/L7/L8/L10 numbers.
|
|
41
|
+
Database testLayer and entry acceptance level are separate dimensions; a level
|
|
42
|
+
label cannot hide a missing real backend.
|
|
43
|
+
|
|
44
|
+
## Mocks and environments
|
|
45
|
+
|
|
46
|
+
The [Mock guide](mock-strategy-guide.md) describes isolation boundaries. Logic
|
|
47
|
+
unit tests may mock data access, but cannot prove SQL, transactions, or persistence.
|
|
48
|
+
Required database cases cannot mock production Service/Mapper; mockBoundary
|
|
49
|
+
freezes allowed external clients. H2/SQLite cannot substitute for MySQL proof.
|
|
50
|
+
A real same-engine container database is not a mock. Freeze engine/major, schema
|
|
51
|
+
provenance, production statements, and cleanup. Use a required shared environment;
|
|
52
|
+
otherwise use existing container infrastructure when the contract approves it.
|
|
53
|
+
Without an executable environment, preserve logic evidence and mark real database
|
|
54
|
+
cases BLOCKED/PARTIAL rather than reducing acceptance.
|
|
55
|
+
|
|
56
|
+
## Retained business scenario tests
|
|
57
|
+
|
|
58
|
+
Prefer repeatable project-native regression tests for critical business flows and
|
|
59
|
+
bug reproductions. Reuse directories, fixtures, authentication, DB helpers, and
|
|
60
|
+
execution scripts. Extend equivalent tests instead of building another scenario
|
|
61
|
+
framework or public helper. Keep pure logic at the lowest adequate layer. Java
|
|
62
|
+
may reuse existing JUnit/RestAssured/JdbcTemplate; other stacks use native tools,
|
|
63
|
+
without mandatory Java dependencies.
|
|
64
|
+
|
|
65
|
+
Assert concrete business response values, same-business-ID database state, and
|
|
66
|
+
contract-required messages/logs/side effects separately. Freeze before/after,
|
|
67
|
+
affected rows, and unchanged non-target records under the canonical contract.
|
|
68
|
+
HTTP 200, non-null values, invocation counts, or affectedRows=1 alone do not prove
|
|
69
|
+
correct persistence.
|
|
70
|
+
|
|
71
|
+
Make subjects unique per run/case; resolve stable base data by business key or
|
|
72
|
+
logical name and fail during setup when missing. Reuse project environment and
|
|
73
|
+
auth commands; record credential sources rather than passwords/tokens in source
|
|
74
|
+
or docs. Never automatically seed or delete shared base data. Freeze data creation
|
|
75
|
+
permissions, ownership, cleanup scope, and failure cleanup. Use existing tags,
|
|
76
|
+
profiles, or scripts to run environment-dependent scenarios separately from unit
|
|
77
|
+
checks. Grouping does not skip required delivery cases: explicitly run required
|
|
78
|
+
groups and check execution counts. Cases do not depend on order or share mutable
|
|
79
|
+
subjects.
|
|
80
|
+
|
|
81
|
+
## Execute, review, and inherit evidence
|
|
82
|
+
|
|
83
|
+
Run narrow tests first, then frozen build/startup/real-entry commands. Read exit
|
|
84
|
+
codes, counts, and raw output; fill case evidence using the
|
|
85
|
+
[execution template](test-execution-template.md). Never fit frozen assertions to
|
|
86
|
+
wrong output. Passing conclusions cover only executed layers; zero cases, skipped,
|
|
87
|
+
and unexecuted checks cannot become PASS.
|
|
88
|
+
|
|
89
|
+
For repairs, map current changes → invalidated evidence → rerun commands.
|
|
90
|
+
Production code, SQL, configuration, authentication, public contracts, runtime
|
|
91
|
+
entries, or environment changes invalidate affected proof. Report formatting
|
|
92
|
+
alone does not automatically invalidate prior runtime results. Historical evidence
|
|
93
|
+
must match source/build, backend/entry, and contract; independent review judges
|
|
94
|
+
applicability. It cannot authorize another source version. Reuse healthy instances
|
|
95
|
+
matching the tested build; restart and reverify when code/configuration/identity
|
|
96
|
+
mismatches. Stop only through frozen owner verification and cleanup entry points,
|
|
97
|
+
never broad pkill/killall. Pure functions need no process; required real entries
|
|
98
|
+
cannot be waived. Reviewers inspect source and raw evidence read-only; implementers
|
|
99
|
+
own execution and cleanup. Independent review does not mean mechanical full reruns.
|
|
100
|
+
|
|
101
|
+
## Repair failures
|
|
102
|
+
|
|
103
|
+
Reproduce case preconditions and inspect actual SQL/bindings, transaction
|
|
104
|
+
boundaries, responses, and logs. For DB failures first inspect production
|
|
105
|
+
statements, written fields, schema, and same-ID before/after values; do not blindly
|
|
106
|
+
add transaction annotations or replace Mapper methods. Run the same path and
|
|
107
|
+
affected regression after repair. Design changes first repair canonical contracts.
|
|
108
|
+
Do not skip failures, weaken assertions, or hide blockers.
|
|
109
|
+
|
|
110
|
+
For cross-round checks sensitive to commands/directories/invocation environments, freeze executionContext under [declared context](document-review-coverage.md#declared-execution-context-and-evidence-reuse). Keep historical proof without calling unbound records complete under a new context.
|
|
@@ -29,7 +29,8 @@ resolve_doc_path() {
|
|
|
29
29
|
printf '%s\n' "$CHANGE_DIR/$value"
|
|
30
30
|
return 0
|
|
31
31
|
fi
|
|
32
|
-
if [[ -f "$value" ]]; then
|
|
32
|
+
if [[ "$value" == /* && -f "$value" ]]; then
|
|
33
|
+
[[ ! -L "$value" ]] || die "symbolic document link rejected: $value"
|
|
33
34
|
printf '%s\n' "$value"
|
|
34
35
|
return 0
|
|
35
36
|
fi
|
|
@@ -47,11 +48,13 @@ annotate_frontmatter() {
|
|
|
47
48
|
local tmp
|
|
48
49
|
|
|
49
50
|
[[ -f "$file" ]] || return 0
|
|
51
|
+
[[ ! -L "$file" ]] || die "symbolic document link rejected: $file"
|
|
50
52
|
tmp="$(mktemp)"
|
|
51
53
|
chmod 600 "$tmp"
|
|
52
54
|
|
|
53
55
|
if head -1 "$file" | grep -q '^---'; then
|
|
54
56
|
awk -v archive="$archive_name" -v status_field="$status_field" '
|
|
57
|
+
closed { print; next }
|
|
55
58
|
/^archived-with:/ { next }
|
|
56
59
|
status_field != "" && /^status:/ { next }
|
|
57
60
|
NR == 1 && /^---/ { print; next }
|
|
@@ -59,6 +62,7 @@ annotate_frontmatter() {
|
|
|
59
62
|
print "archived-with: " archive
|
|
60
63
|
if (status_field != "") print "status: " status_field
|
|
61
64
|
print
|
|
65
|
+
closed = 1
|
|
62
66
|
next
|
|
63
67
|
}
|
|
64
68
|
{ print }
|
|
@@ -129,13 +133,45 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
129
133
|
STATE="$SCRIPT_DIR/superflow-state.sh"
|
|
130
134
|
GUARD="$SCRIPT_DIR/superflow-guard.sh"
|
|
131
135
|
VALIDATE="$SCRIPT_DIR/superflow-yaml-validate.sh"
|
|
132
|
-
|
|
136
|
+
[[ ! -L "${CHANGE_DIR%/}" ]] || die "canonical change directory required; symbolic link rejected"
|
|
137
|
+
CHANGE_DIR="$(cd "$CHANGE_DIR" && pwd -L)"
|
|
138
|
+
for component in "$CHANGE_DIR" "$(dirname "$CHANGE_DIR")" "$(dirname "$(dirname "$CHANGE_DIR")")" "$(dirname "$(dirname "$(dirname "$CHANGE_DIR")")")"; do
|
|
139
|
+
[[ ! -L "$component" ]] || die "canonical directory required; symbolic link rejected: $component"
|
|
140
|
+
done
|
|
141
|
+
CHANGE_DIR="$(cd "$CHANGE_DIR" && pwd -P)"
|
|
133
142
|
CHANGE_NAME="$(basename "$CHANGE_DIR")"
|
|
134
|
-
|
|
143
|
+
IS_MOVED=false
|
|
144
|
+
IS_STANDARD=false
|
|
145
|
+
case "$CHANGE_DIR" in
|
|
146
|
+
*/openspec/changes/archive/*)
|
|
147
|
+
[[ "$(basename "$(dirname "$CHANGE_DIR")")" == archive ]] || die "canonical archive directory required"
|
|
148
|
+
PROJECT_ROOT="$(cd "$CHANGE_DIR/../../../.." && pwd -P)"
|
|
149
|
+
IS_MOVED=true
|
|
150
|
+
;;
|
|
151
|
+
*/openspec/changes/*)
|
|
152
|
+
[[ "$(basename "$(dirname "$CHANGE_DIR")")" == changes ]] || die "canonical change directory required"
|
|
153
|
+
IS_STANDARD=true
|
|
154
|
+
PROJECT_ROOT="$(cd "$CHANGE_DIR/../../.." && pwd -P)"
|
|
155
|
+
;;
|
|
156
|
+
*) PROJECT_ROOT="$(cd "$CHANGE_DIR/../../.." && pwd -P)" ;;
|
|
157
|
+
esac
|
|
158
|
+
for component in "$PROJECT_ROOT/openspec" "$PROJECT_ROOT/openspec/changes" "$PROJECT_ROOT/openspec/changes/archive"; do
|
|
159
|
+
[[ ! -L "$component" ]] || die "canonical directory required; symbolic link rejected: $component"
|
|
160
|
+
done
|
|
135
161
|
ARCHIVE_ROOT="$PROJECT_ROOT/openspec/changes/archive"
|
|
136
162
|
ARCHIVE_NAME="$CHANGE_NAME"
|
|
137
163
|
|
|
138
164
|
"$VALIDATE" "$CHANGE_DIR"
|
|
165
|
+
if [[ "$IS_STANDARD" == true && ( "$(field_value archived)" == true || "$(field_value phase)" == done ) ]]; then
|
|
166
|
+
die "active standard directory has archived state: $CHANGE_DIR; confirm the physical archive location first. If this was state-only closeout, repair through the existing state owner: SUPERFLOW_FORCE_PHASE=1 $STATE set '$CHANGE_DIR' phase archive; $STATE set '$CHANGE_DIR' archived false; then rerun --apply with OpenSpec available"
|
|
167
|
+
fi
|
|
168
|
+
if [[ "$IS_STANDARD" == true ]] && ! command -v openspec >/dev/null 2>&1; then
|
|
169
|
+
die "OpenSpec is required for standard change directory: $CHANGE_DIR; install/restore openspec, then rerun this command"
|
|
170
|
+
fi
|
|
171
|
+
if [[ "$(field_value archived)" == true && "$(field_value phase)" == done ]]; then
|
|
172
|
+
printf 'already archived: %s; no changes required\n' "$CHANGE_DIR"
|
|
173
|
+
exit 0
|
|
174
|
+
fi
|
|
139
175
|
"$GUARD" "$CHANGE_DIR" archive
|
|
140
176
|
|
|
141
177
|
printf 'Archive summary:\n'
|
|
@@ -148,7 +184,11 @@ if [[ "$CHANGE_DIR" == "$PROJECT_ROOT/openspec/changes/$CHANGE_NAME" ]] && comma
|
|
|
148
184
|
printf '%s\n' "- openspec_archive: openspec archive $CHANGE_NAME --yes"
|
|
149
185
|
ARCHIVE_NAME="$(date -u '+%Y-%m-%d')-$CHANGE_NAME"
|
|
150
186
|
else
|
|
151
|
-
|
|
187
|
+
if [[ "$IS_MOVED" == true ]]; then
|
|
188
|
+
printf '%s\n' "- openspec_archive: already moved; recover remaining closeout"
|
|
189
|
+
else
|
|
190
|
+
printf '%s\n' "- openspec_archive: unavailable; fallback to state-only archive"
|
|
191
|
+
fi
|
|
152
192
|
fi
|
|
153
193
|
|
|
154
194
|
if [[ "$MODE" == "--dry-run" ]]; then
|
|
@@ -159,13 +199,20 @@ fi
|
|
|
159
199
|
|
|
160
200
|
if [[ "$CHANGE_DIR" == "$PROJECT_ROOT/openspec/changes/$CHANGE_NAME" ]] && command -v openspec >/dev/null 2>&1; then
|
|
161
201
|
(cd "$PROJECT_ROOT" && openspec archive "$CHANGE_NAME" --yes)
|
|
162
|
-
|
|
163
|
-
if [[ -d "$ARCHIVE_ROOT
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
202
|
+
candidates=()
|
|
203
|
+
if [[ -d "$ARCHIVE_ROOT" ]]; then
|
|
204
|
+
for candidate in "$ARCHIVE_ROOT"/*; do
|
|
205
|
+
[[ -d "$candidate" ]] || continue
|
|
206
|
+
candidate_name="$(basename "$candidate")"
|
|
207
|
+
if [[ "$candidate_name" == "$CHANGE_NAME" || "$candidate_name" == *-"$CHANGE_NAME" ]]; then
|
|
208
|
+
[[ ! -L "$candidate" ]] || die "canonical archive directory required; symbolic link rejected"
|
|
209
|
+
candidates+=("$candidate")
|
|
210
|
+
fi
|
|
211
|
+
done
|
|
167
212
|
fi
|
|
168
|
-
[[
|
|
213
|
+
[[ "${#candidates[@]}" -gt 0 ]] || die "openspec archive completed but archive dir was not found; supply explicit archive path"
|
|
214
|
+
[[ "${#candidates[@]}" -eq 1 ]] || die "multiple archive targets found; supply explicit archive path"
|
|
215
|
+
archived_dir="${candidates[0]}"
|
|
169
216
|
ARCHIVE_NAME="$(basename "$archived_dir")"
|
|
170
217
|
CHANGE_DIR="$(cd "$archived_dir" && pwd)"
|
|
171
218
|
annotate_archive_docs "$ARCHIVE_NAME"
|
|
@@ -235,16 +235,33 @@ verification_report_path() {
|
|
|
235
235
|
|
|
236
236
|
require_closeout_markers() {
|
|
237
237
|
local report="${1:-$CHANGE_DIR/test-report.md}"
|
|
238
|
+
local lint output
|
|
238
239
|
if [[ ! -f "$report" ]]; then
|
|
239
240
|
issues+=("verification report path does not exist: $report")
|
|
240
241
|
return 0
|
|
241
242
|
fi
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
243
|
+
for lint in \
|
|
244
|
+
"${SUPERFLOW_REPORT_LINT:-$SCRIPT_DIR/../../../scripts/superflow-test-report-lint.py}" \
|
|
245
|
+
"$SCRIPT_DIR/../../../hooks/superflow-test-report-lint.py"; do
|
|
246
|
+
[[ -f "$lint" ]] || continue
|
|
247
|
+
if ! output="$(python3 - "$lint" "$report" <<'PYCLOSEOUT'
|
|
248
|
+
import runpy, sys
|
|
249
|
+
from pathlib import Path
|
|
250
|
+
module = runpy.run_path(sys.argv[1])
|
|
251
|
+
text = Path(sys.argv[2]).read_text()
|
|
252
|
+
if module["final_report_result"](text) != "PASS":
|
|
253
|
+
print("verification result PASS marker not found in verification report")
|
|
254
|
+
if module["archive_readiness_result"](text) != "PASS":
|
|
255
|
+
print("archive readiness PASS marker not found in verification report")
|
|
256
|
+
PYCLOSEOUT
|
|
257
|
+
)"; then
|
|
258
|
+
issues+=("verification report closeout parser failed")
|
|
259
|
+
elif [[ -n "$output" ]]; then
|
|
260
|
+
issues+=("$output")
|
|
261
|
+
fi
|
|
262
|
+
return
|
|
263
|
+
done
|
|
264
|
+
issues+=("superflow-test-report-lint.py not found for closeout guard")
|
|
248
265
|
}
|
|
249
266
|
|
|
250
267
|
require_branch_handled() {
|
|
@@ -28,15 +28,18 @@ user explicitly chooses that workflow.
|
|
|
28
28
|
|
|
29
29
|
Write and show the current disk version at
|
|
30
30
|
`.sdd/tasks/<YYYY-MM-DD>-<slug>/spec.md` with Intent / Non-goals, current and
|
|
31
|
-
target behavior, confirmed test seam,
|
|
31
|
+
target behavior, confirmed test seam, applicable signals/commands/assertions/evidence paths from
|
|
32
|
+
the [test guide](../superflow-pipeline/references/test-guide.md), ordered implementation steps, Given /
|
|
32
33
|
When / Then acceptance, risks, escalation conditions, deferred work, baseline
|
|
33
34
|
commit, and exact file scope.
|
|
34
35
|
|
|
35
36
|
Do not edit runtime code before approval. After explicit approval of the current
|
|
36
37
|
disk version, run `superflow quick "<request>" --path <files...> --seam <existing-file> --spec <spec> --approve`.
|
|
37
38
|
The CLI binds the approval to the current content digest. If Intent, Non-goals, or Acceptance
|
|
38
|
-
Criteria change, return to `draft` and obtain approval again.
|
|
39
|
-
|
|
39
|
+
Criteria change, return to `draft` and obtain approval again. Read the [test guide](../superflow-pipeline/references/test-guide.md), verify applicable
|
|
40
|
+
signals, commands, assertions, and evidence paths are already frozen in the approved
|
|
41
|
+
Quick Spec (repair omissions and reapprove before edits), then
|
|
42
|
+
run TDD RED/GREEN and close with `superflow review-coverage`
|
|
40
43
|
and `superflow eval` evidence.
|
|
41
44
|
|
|
42
45
|
Quick work creates no OpenSpec checkpoint and never commits, pushes, or releases.
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: superflow-verify
|
|
3
|
-
description: Use when
|
|
3
|
+
description: Use when reviewing code changes or verifying an SDD/OpenSpec implementation, test evidence, branch/worktree handling, or retry decisions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SDD Verify
|
|
7
7
|
|
|
8
|
+
## Verification signal review
|
|
9
|
+
|
|
10
|
+
Read the [test guide](../superflow-pipeline/references/test-guide.md). Compare current
|
|
11
|
+
changes, frozen cases, and actual execution counts; distinguish logic, database,
|
|
12
|
+
and real-entry conclusions. Judge historical applicability before requesting
|
|
13
|
+
affected reruns. Report formatting alone does not force full-chain reruns. Reviewers
|
|
14
|
+
inspect raw output and source read-only.
|
|
15
|
+
|
|
8
16
|
Before semantic code review, run `superflow review-coverage --json` (or pass
|
|
9
17
|
`--base <ref>` for a branch review). Use its included/excluded inventory and
|
|
10
18
|
path-specific rules to account for every changed file. Review related Java
|
|
@@ -12,16 +20,28 @@ and Mapper XML files together when they share a bundle. Do not treat this
|
|
|
12
20
|
mechanical inventory as a correctness verdict: findings still need source
|
|
13
21
|
anchors, a fresh reading of the affected call path, and independent judgment.
|
|
14
22
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
For declared executionContext reuse, independently check current command, cwd,
|
|
24
|
+
selected environment, source, build, and entry. Changed invocation context cannot
|
|
25
|
+
reuse PASS. Legacy unbound evidence retains its boundary; JSON presence/hash
|
|
26
|
+
identity does not prove actual execution or business sufficiency.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Five-axis and independent review entry
|
|
30
|
+
|
|
31
|
+
Read the [canonical Reviewer checklist](../superflow-pipeline/references/reviewer-checklist.md)
|
|
32
|
+
for code-quality review. Follow its actual-impact depth selection, isolated bundle,
|
|
33
|
+
axis coverage, finding falsification, and merging. `review-coverage` risk.tier is a
|
|
34
|
+
path hint, not the actual depth: print both tiers with evidence. Ordinary code
|
|
35
|
+
review enters here without creating SDD state; existing frozen contracts still
|
|
36
|
+
require conformity checks. The main Agent owns the verdict, reviewers contribute
|
|
37
|
+
read-only independent views, and Runner does not judge semantic risk.
|
|
38
|
+
|
|
39
|
+
Use the existing four-state report with `superflow review-coverage --report <file> --json`
|
|
40
|
+
for markers/anchors. It does not prove axis sufficiency: inspect raw proof yourself.
|
|
41
|
+
BLOCKED/NEEDS_CONTEXT needs evidence; investigate every DONE_WITH_CONCERNS concern
|
|
42
|
+
before deciding. Use isolated native subagents for medium+ when supported, adding
|
|
43
|
+
focused views by independent high-risk clusters without fixed counts or models.
|
|
44
|
+
Report unavailable independent review honestly.
|
|
25
45
|
|
|
26
46
|
## Review response discipline
|
|
27
47
|
|
|
@@ -63,7 +83,11 @@ revert that simplification. Keep simplification in a separate commit from the
|
|
|
63
83
|
feature, and stop if it reaches files outside the original change. This is a
|
|
64
84
|
readability pass, not a second code review or a license for unrelated cleanup.
|
|
65
85
|
|
|
66
|
-
## Entry Check
|
|
86
|
+
## Entry Check (SDD only)
|
|
87
|
+
|
|
88
|
+
Ordinary code review returns its reviewed findings after the five-axis workflow.
|
|
89
|
+
The phase state, test-delivery, branch, and archive steps below apply only to an
|
|
90
|
+
associated SDD/OpenSpec delivery; do not create state for a bare diff review.
|
|
67
91
|
|
|
68
92
|
Run:
|
|
69
93
|
|
package/dist/app/cli.js
CHANGED
|
@@ -269,11 +269,11 @@ program
|
|
|
269
269
|
});
|
|
270
270
|
program
|
|
271
271
|
.command("review-coverage")
|
|
272
|
-
.description(
|
|
273
|
-
.option("--base <ref>",
|
|
274
|
-
.option("--path <paths...>",
|
|
275
|
-
.option("--report <path>",
|
|
276
|
-
.option("--json",
|
|
272
|
+
.description(helpText.reviewCoverageDescription)
|
|
273
|
+
.option("--base <ref>", helpText.reviewBaseOption)
|
|
274
|
+
.option("--path <paths...>", helpText.reviewPathOption)
|
|
275
|
+
.option("--report <path>", helpText.reviewReportOption)
|
|
276
|
+
.option("--json", helpText.jsonOption)
|
|
277
277
|
.action(async (options) => {
|
|
278
278
|
const { reviewCoverageCommand } = await import("./commands/review-coverage.js");
|
|
279
279
|
reviewCoverageCommand({
|
package/dist/app/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/app/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/app/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvD,0BAA0B;AAC1B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAE/C,SAAS,oBAAoB,CAC3B,KAAc,EACd,OAAgB,EAChB,WAAmB;IAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG;QAChE,OAAO,KAAK,CAAC;IACf,MAAM,IAAI,GAAI,OAA4C,EAAE,IAAI,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,YAAY;YACZ,QAAQ;SACT,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,IAAI,GAAI,OAAgE;QAC5E,EAAE,IAAI,CAAC;IACT,OAAO;QACL,GAAG,OAAO,CAAC,IAAI,EAAE;QACjB,GAAG,CAAC,OAAO,IAAI,KAAK,UAAU;YAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,EAAE,GAAI,OAAkB,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACxC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACpD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;KACrC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,CAAC;KAC/C,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;KACzD,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC;KACnC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC;KACzC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KACtD,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC;KAC/C,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC;KAC5C,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC;QAChB,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1B,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;KACrC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC;KACvC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACxC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;KACrC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,KAAK,CAAC,oBAAoB,CAAC;KAC3B,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,wBAAwB,EAAE,GAChC,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACnD,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACvC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC1C,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACzC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;KAC3C,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC;KACzC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,oBAAoB,CAAC;KACzD,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;KACpE,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,uBAAuB,EAAE,SAAS,CAAC;KAC3E,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;KACpE,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,mBAAmB,CAAC;KAC5D,MAAM,CACL,8BAA8B,EAC9B,QAAQ,CAAC,+BAA+B,CACzC;KACA,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,mBAAmB,CAAC;KAC9D,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,6BAA6B,CAAC;KAC7E,MAAM,CACL,iCAAiC,EACjC,QAAQ,CAAC,iCAAiC,CAC3C;KACA,MAAM,CAAC,4BAA4B,EAAE,QAAQ,CAAC,2BAA2B,CAAC;KAC1E,MAAM,CACL,wCAAwC,EACxC,QAAQ,CAAC,mCAAmC,CAC7C;KACA,MAAM,CACL,mCAAmC,EACnC,QAAQ,CAAC,iCAAiC,CAC3C;KACA,MAAM,CACL,mCAAmC,EACnC,QAAQ,CAAC,iCAAiC,CAC3C;KACA,MAAM,CACL,8BAA8B,EAC9B,QAAQ,CAAC,6BAA6B,CACvC;KACA,MAAM,CACL,6CAA6C,EAC7C,QAAQ,CAAC,kCAAkC,CAC5C;KACA,MAAM,CACL,oCAAoC,EACpC,QAAQ,CAAC,mCAAmC,CAC7C;KACA,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,4BAA4B,CAAC;KAC5E,MAAM,CACL,uCAAuC,EACvC,QAAQ,CAAC,qCAAqC,CAC/C;KACA,MAAM,CACL,mCAAmC,EACnC,QAAQ,CAAC,iCAAiC,CAC3C;KACA,MAAM,CACL,0BAA0B,EAC1B,QAAQ,CAAC,iCAAiC,CAC3C;KACA,MAAM,CACL,2CAA2C,EAC3C,QAAQ,CAAC,0CAA0C,CACpD;KACA,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnE,MAAM,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC5C,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,qBAAqB,EAAE,GAC7B,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAChD,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACvC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACxC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACvC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC;KACpC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACzD,MAAM,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;KACrC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC;KAC3C,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KACxC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC;KAC9D,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,CAAC;KAC/D,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACjE,cAAc,CACZ,MAAM,EACN,cAAc,CAAC,OAAO,CAKrB,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACvC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KAC7D,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,mBAAmB,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,CAAC;KACpD,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,sBAAsB,CAAC;KAC9D,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC;QAClB,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1B,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACvC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC;KAChE,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC;KACxD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC;QAClB,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1B,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,UAAU,EAAE,gDAAgD,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAC/C,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,gBAAgB,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,gBAAgB,CAAC;KACtD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KACtD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAChF,qBAAqB,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,IAAI;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;KACvC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC5E,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;KACvC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACtE,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,yEAAyE,CAAC;KACtF,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;KACvC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC1C,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC;KACzC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACpE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC;KACvC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC5E,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAC5C,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC;KAChD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;KAC9D,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC;KAC3C,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1E,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC1C,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC;KAChD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;KAC9D,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1E,kBAAkB,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACtC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,eAAe,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,oBAAoB,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC;KACjD,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KAChD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC7D,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,wBAAwB,CAAC;KACjC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC1C,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC;KAChE,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;KACpC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,oBAAoB,CAAC;KAChD,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,gBAAgB,CAAC;QACrB,GAAG,cAAc,CAAC,OAAO,CAAC;QAC1B,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;KACnE,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACtC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;KAC7D,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC7D,MAAM,YAAY,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CACV,iEAAiE,CAClE;KACA,MAAM,CAAC,sBAAsB,EAAE,wCAAwC,CAAC;KACxE,MAAM,CAAC,0BAA0B,EAAE,mCAAmC,CAAC;KACvE,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;KAC/B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,aAAa,CAAC,MAAM,EAAE;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { execFileSync } from "node:child_process";
|
|
|
5
5
|
import { ASSETS_DIR } from "../../platform/assets.js";
|
|
6
6
|
import { resolveReviewCoverage } from "../../domains/review/coverage.js";
|
|
7
7
|
import { auditReviewReport } from "../../domains/review/report.js";
|
|
8
|
+
import { resolveCliLanguage } from "../../domains/config/cli-help.js";
|
|
8
9
|
export function reviewCoverageCommand(options = {}) {
|
|
9
10
|
const system = readRules(path.join(ASSETS_DIR, "review-rules.json"), "system");
|
|
10
11
|
const user = readRules(path.join(os.homedir(), ".config", "superflow", "review-rules.json"), "user");
|
|
@@ -20,10 +21,14 @@ export function reviewCoverageCommand(options = {}) {
|
|
|
20
21
|
if (options.json)
|
|
21
22
|
console.log(JSON.stringify({ ...result, ...(report ? { report } : {}) }, null, 2));
|
|
22
23
|
else {
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
const english = resolveCliLanguage() === "en";
|
|
25
|
+
console.log(english
|
|
26
|
+
? `Review coverage: ${result.coverage.included}/${result.coverage.total} included, ` +
|
|
27
|
+
`${result.coverage.excluded} excluded | path risk hint ${result.risk.tier}; Host impact assessment required`
|
|
28
|
+
: `评审覆盖:${result.coverage.included}/${result.coverage.total} 纳入,` +
|
|
29
|
+
`${result.coverage.excluded} 排除 | 路径风险提示 ${result.risk.tier};实际影响由 Host 判断`);
|
|
25
30
|
for (const file of result.files) {
|
|
26
|
-
console.log(`- ${file.path}: ${file.included ? file.rules.join("; ") || "generic review" : file.reason}`);
|
|
31
|
+
console.log(`- ${file.path}: ${file.included ? file.rules.join("; ") || (english ? "generic review" : "通用五维评审") : file.reason}`);
|
|
27
32
|
}
|
|
28
33
|
for (const [bundle, paths] of Object.entries(result.bundles)) {
|
|
29
34
|
console.log(`bundle ${bundle}: ${paths.join(", ")}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-coverage.js","sourceRoot":"","sources":["../../../src/app/commands/review-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAmB,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"review-coverage.js","sourceRoot":"","sources":["../../../src/app/commands/review-coverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,6 +155,8 @@ export function resolveUpdateTargetsFromState(projectPath, agents, scopeValue, s
|
|
|
155
155
|
const merged = [...base];
|
|
156
156
|
for (const project of managed) {
|
|
157
157
|
for (const agent of project.agents) {
|
|
158
|
+
if (!agents.includes(agent))
|
|
159
|
+
continue;
|
|
158
160
|
const key = `${agent}|project|${project.root}`;
|
|
159
161
|
if (seen.has(key))
|
|
160
162
|
continue;
|