@cleocode/core 2026.9.22 → 2026.9.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-provenance.json +6 -0
- package/dist/decide/audit.d.ts +7 -1
- package/dist/decide/audit.d.ts.map +1 -1
- package/dist/decide/audit.js.map +1 -1
- package/dist/decide/client.d.ts +46 -4
- package/dist/decide/client.d.ts.map +1 -1
- package/dist/decide/client.js +328 -33
- package/dist/decide/client.js.map +1 -1
- package/dist/decide/credentials.d.ts +28 -4
- package/dist/decide/credentials.d.ts.map +1 -1
- package/dist/decide/credentials.js +50 -12
- package/dist/decide/credentials.js.map +1 -1
- package/dist/decide/index.d.ts +10 -4
- package/dist/decide/index.d.ts.map +1 -1
- package/dist/decide/index.js +10 -4
- package/dist/decide/index.js.map +1 -1
- package/dist/decide/jev-wire.d.ts +100 -8
- package/dist/decide/jev-wire.d.ts.map +1 -1
- package/dist/decide/jev-wire.js +402 -55
- package/dist/decide/jev-wire.js.map +1 -1
- package/dist/decide/operations.d.ts +97 -20
- package/dist/decide/operations.d.ts.map +1 -1
- package/dist/decide/operations.js +180 -28
- package/dist/decide/operations.js.map +1 -1
- package/dist/decide/provider-state.d.ts +89 -0
- package/dist/decide/provider-state.d.ts.map +1 -0
- package/dist/decide/provider-state.js +134 -0
- package/dist/decide/provider-state.js.map +1 -0
- package/dist/decide/provider.d.ts +26 -5
- package/dist/decide/provider.d.ts.map +1 -1
- package/dist/decide/provider.js.map +1 -1
- package/dist/decide/providers.d.ts +58 -0
- package/dist/decide/providers.d.ts.map +1 -0
- package/dist/decide/providers.js +69 -0
- package/dist/decide/providers.js.map +1 -0
- package/dist/decide/site.d.ts +2 -2
- package/dist/decide/site.d.ts.map +1 -1
- package/dist/decide/site.js +2 -0
- package/dist/decide/site.js.map +1 -1
- package/dist/decide/sites/list.d.ts +46 -0
- package/dist/decide/sites/list.d.ts.map +1 -0
- package/dist/decide/sites/list.js +206 -0
- package/dist/decide/sites/list.js.map +1 -0
- package/dist/decide/sites/registry.d.ts +130 -0
- package/dist/decide/sites/registry.d.ts.map +1 -0
- package/dist/decide/sites/registry.js +375 -0
- package/dist/decide/sites/registry.js.map +1 -0
- package/dist/decide/spend.d.ts +196 -0
- package/dist/decide/spend.d.ts.map +1 -0
- package/dist/decide/spend.js +387 -0
- package/dist/decide/spend.js.map +1 -0
- package/dist/decide/wizard.d.ts +53 -0
- package/dist/decide/wizard.d.ts.map +1 -0
- package/dist/decide/wizard.js +144 -0
- package/dist/decide/wizard.js.map +1 -0
- package/dist/docs/docs-audit.d.ts.map +1 -1
- package/dist/docs/docs-audit.js +1 -2
- package/dist/docs/docs-audit.js.map +1 -1
- package/dist/docs/export-document.js +775 -415
- package/dist/docs/export-document.js.map +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init/scaffold-workflows.d.ts.map +1 -1
- package/dist/init/scaffold-workflows.js +6 -3
- package/dist/init/scaffold-workflows.js.map +1 -1
- package/dist/init/upgrade-workflows.d.ts.map +1 -1
- package/dist/init/upgrade-workflows.js +6 -3
- package/dist/init/upgrade-workflows.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/llm/plugin-facade.js +886 -526
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/memory/decision-contradiction.d.ts +3 -3
- package/dist/memory/decision-contradiction.d.ts.map +1 -1
- package/dist/memory/decision-contradiction.js +4 -3
- package/dist/memory/decision-contradiction.js.map +1 -1
- package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
- package/dist/memory/graph-memory-bridge.js +2 -0
- package/dist/memory/graph-memory-bridge.js.map +1 -1
- package/dist/memory/observation-type-decision.d.ts +2 -2
- package/dist/memory/observation-type-decision.d.ts.map +1 -1
- package/dist/memory/observation-type-decision.js +3 -2
- package/dist/memory/observation-type-decision.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +111 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +230 -2
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
- package/dist/nexus/migrations/M-split-graph.js +4 -0
- package/dist/nexus/migrations/M-split-graph.js.map +1 -1
- package/dist/nexus/store.d.ts.map +1 -1
- package/dist/nexus/store.js +2 -0
- package/dist/nexus/store.js.map +1 -1
- package/dist/orchestrate/pivot.d.ts.map +1 -1
- package/dist/orchestrate/pivot.js +13 -8
- package/dist/orchestrate/pivot.js.map +1 -1
- package/dist/orchestrate/plan.d.ts.map +1 -1
- package/dist/orchestrate/plan.js +3 -0
- package/dist/orchestrate/plan.js.map +1 -1
- package/dist/orchestration/lead-rollup.js +14 -2
- package/dist/orchestration/lead-rollup.js.map +1 -1
- package/dist/orchestration/owner-decision-readiness.d.ts +2 -2
- package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -1
- package/dist/orchestration/owner-decision-readiness.js +3 -2
- package/dist/orchestration/owner-decision-readiness.js.map +1 -1
- package/dist/orchestration/validate-spawn.d.ts.map +1 -1
- package/dist/orchestration/validate-spawn.js +2 -0
- package/dist/orchestration/validate-spawn.js.map +1 -1
- package/dist/project-scope.d.ts +16 -0
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +38 -2
- package/dist/project-scope.js.map +1 -1
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +2 -1
- package/dist/release/github-pr.js.map +1 -1
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/routing/capability-matrix.js +7 -0
- package/dist/routing/capability-matrix.js.map +1 -1
- package/dist/selfimprove/fix-gen.js +895 -535
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/sessions/briefing.d.ts.map +1 -1
- package/dist/sessions/briefing.js +23 -62
- package/dist/sessions/briefing.js.map +1 -1
- package/dist/sessions/focus-state-store.d.ts +6 -1
- package/dist/sessions/focus-state-store.d.ts.map +1 -1
- package/dist/sessions/focus-state-store.js +5 -2
- package/dist/sessions/focus-state-store.js.map +1 -1
- package/dist/setup/config-json-merge.d.ts +28 -0
- package/dist/setup/config-json-merge.d.ts.map +1 -1
- package/dist/setup/config-json-merge.js +51 -0
- package/dist/setup/config-json-merge.js.map +1 -1
- package/dist/setup/index.d.ts +13 -10
- package/dist/setup/index.d.ts.map +1 -1
- package/dist/setup/index.js +15 -10
- package/dist/setup/index.js.map +1 -1
- package/dist/setup/sections/llm.js +1 -1
- package/dist/setup/sections/llm.js.map +1 -1
- package/dist/setup/sections/system-one.d.ts +28 -0
- package/dist/setup/sections/system-one.d.ts.map +1 -0
- package/dist/setup/sections/system-one.js +53 -0
- package/dist/setup/sections/system-one.js.map +1 -0
- package/dist/setup/wizard.d.ts +15 -1
- package/dist/setup/wizard.d.ts.map +1 -1
- package/dist/setup/wizard.js +15 -0
- package/dist/setup/wizard.js.map +1 -1
- package/dist/skills/prune-bundled.d.ts +40 -1
- package/dist/skills/prune-bundled.d.ts.map +1 -1
- package/dist/skills/prune-bundled.js +117 -1
- package/dist/skills/prune-bundled.js.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +2 -0
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/backup-pack.js +1 -1
- package/dist/store/backup-pack.js.map +1 -1
- package/dist/store/backup.d.ts +15 -1
- package/dist/store/backup.d.ts.map +1 -1
- package/dist/store/backup.js +18 -2
- package/dist/store/backup.js.map +1 -1
- package/dist/store/conduit-sqlite.d.ts.map +1 -1
- package/dist/store/conduit-sqlite.js +3 -0
- package/dist/store/conduit-sqlite.js.map +1 -1
- package/dist/store/credential-transfer.d.ts.map +1 -1
- package/dist/store/credential-transfer.js +2 -0
- package/dist/store/credential-transfer.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.js +2 -0
- package/dist/store/cross-db-cleanup.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +13 -2
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/migrate-signaldock-to-conduit.js +3 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +37 -3
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/migration-sqlite.d.ts.map +1 -1
- package/dist/store/migration-sqlite.js +2 -0
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +3 -0
- package/dist/store/nexus-sqlite.js.map +1 -1
- package/dist/store/open-cleo-db.d.ts.map +1 -1
- package/dist/store/open-cleo-db.js +3 -0
- package/dist/store/open-cleo-db.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +2 -0
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
- package/dist/store/portable-bundle-relocate.js +2 -0
- package/dist/store/portable-bundle-relocate.js.map +1 -1
- package/dist/store/portable-bundle-scan.js +1 -1
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/ports/domain-binding.d.ts.map +1 -1
- package/dist/store/ports/domain-binding.js +5 -0
- package/dist/store/ports/domain-binding.js.map +1 -1
- package/dist/store/split-brain-import.d.ts.map +1 -1
- package/dist/store/split-brain-import.js +2 -0
- package/dist/store/split-brain-import.js.map +1 -1
- package/dist/store/sqlite-data-accessor.js +7 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite-native.d.ts.map +1 -1
- package/dist/store/sqlite-native.js +1 -0
- package/dist/store/sqlite-native.js.map +1 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +5 -0
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/worktree-build-guard.d.ts +191 -0
- package/dist/store/worktree-build-guard.d.ts.map +1 -0
- package/dist/store/worktree-build-guard.js +486 -0
- package/dist/store/worktree-build-guard.js.map +1 -0
- package/dist/store/worktree-isolation-guard.d.ts +27 -0
- package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
- package/dist/store/worktree-isolation-guard.js +67 -1
- package/dist/store/worktree-isolation-guard.js.map +1 -1
- package/dist/store/writer-lease.d.ts.map +1 -1
- package/dist/store/writer-lease.js +2 -0
- package/dist/store/writer-lease.js.map +1 -1
- package/dist/system/backup.d.ts +6 -2
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +6 -3
- package/dist/system/backup.js.map +1 -1
- package/dist/task-tools/index.d.ts +4 -2
- package/dist/task-tools/index.d.ts.map +1 -1
- package/dist/task-tools/index.js +3 -2
- package/dist/task-tools/index.js.map +1 -1
- package/dist/task-tools/score-task-priority.d.ts +93 -18
- package/dist/task-tools/score-task-priority.d.ts.map +1 -1
- package/dist/task-tools/score-task-priority.js +193 -81
- package/dist/task-tools/score-task-priority.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +5 -1
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +21 -3
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/analyze.d.ts +29 -1
- package/dist/tasks/analyze.d.ts.map +1 -1
- package/dist/tasks/analyze.js +45 -34
- package/dist/tasks/analyze.js.map +1 -1
- package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
- package/dist/tasks/backfill-child-projections.js +4 -1
- package/dist/tasks/backfill-child-projections.js.map +1 -1
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +16 -3
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/command-line.d.ts +54 -0
- package/dist/tasks/command-line.d.ts.map +1 -0
- package/dist/tasks/command-line.js +151 -0
- package/dist/tasks/command-line.js.map +1 -0
- package/dist/tasks/component-pr.d.ts.map +1 -1
- package/dist/tasks/component-pr.js +97 -12
- package/dist/tasks/component-pr.js.map +1 -1
- package/dist/tasks/delete.d.ts.map +1 -1
- package/dist/tasks/delete.js +20 -0
- package/dist/tasks/delete.js.map +1 -1
- package/dist/tasks/duplicate-detector.d.ts +3 -3
- package/dist/tasks/duplicate-detector.d.ts.map +1 -1
- package/dist/tasks/duplicate-detector.js +4 -3
- package/dist/tasks/duplicate-detector.js.map +1 -1
- package/dist/tasks/engine-wrap-ops.d.ts +29 -0
- package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
- package/dist/tasks/engine-wrap-ops.js +40 -0
- package/dist/tasks/engine-wrap-ops.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +1 -1
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +1 -1
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence.d.ts +2 -0
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +30 -4
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +48 -12
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/index.d.ts +1 -1
- package/dist/tasks/index.d.ts.map +1 -1
- package/dist/tasks/index.js +1 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/ops.d.ts +1 -0
- package/dist/tasks/ops.d.ts.map +1 -1
- package/dist/tasks/ranking-audit.d.ts +122 -0
- package/dist/tasks/ranking-audit.d.ts.map +1 -0
- package/dist/tasks/ranking-audit.js +193 -0
- package/dist/tasks/ranking-audit.js.map +1 -0
- package/dist/tasks/task-analyze.d.ts.map +1 -1
- package/dist/tasks/task-analyze.js +19 -32
- package/dist/tasks/task-analyze.js.map +1 -1
- package/dist/tasks/task-next.d.ts +44 -2
- package/dist/tasks/task-next.d.ts.map +1 -1
- package/dist/tasks/task-next.js +80 -102
- package/dist/tasks/task-next.js.map +1 -1
- package/dist/tasks/task-ops.d.ts +1 -1
- package/dist/tasks/task-ops.d.ts.map +1 -1
- package/dist/tasks/task-ops.js +1 -1
- package/dist/tasks/task-ops.js.map +1 -1
- package/dist/tasks/tool-resolver.d.ts +7 -1
- package/dist/tasks/tool-resolver.d.ts.map +1 -1
- package/dist/tasks/tool-resolver.js +24 -10
- package/dist/tasks/tool-resolver.js.map +1 -1
- package/dist/tasks/update.d.ts +8 -2
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +28 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/telemetry/sqlite.d.ts.map +1 -1
- package/dist/telemetry/sqlite.js +2 -0
- package/dist/telemetry/sqlite.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +2 -2
- package/dist/validation/doctor/checks.js.map +1 -1
- package/package.json +14 -14
- package/schemas/config.schema.json +13 -0
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +5 -1
|
@@ -1,118 +1,230 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* scoreTask —
|
|
2
|
+
* scoreTask — THE task ranker (T12661, tiered per council verdict D11161 / T12691).
|
|
3
3
|
*
|
|
4
|
-
* Computes a numeric score for a task given its attributes and project context.
|
|
5
4
|
* Pure functional — no I/O, no DB access, no async.
|
|
6
5
|
*
|
|
6
|
+
* `cleo next`, the briefing's `nextTasks` and both `cleo analyze` paths rank
|
|
7
|
+
* through this module. The order is LEXICOGRAPHIC, never an additive sum:
|
|
8
|
+
*
|
|
9
|
+
* 1. **Priority band** — the owner's priority: critical > high > medium > low.
|
|
10
|
+
* 2. **Severity** — attested severity: P0 > P1 > P2 > P3 > unknown. An unset
|
|
11
|
+
* severity is `unknown`; nothing is imputed (not even for a bug).
|
|
12
|
+
* 3. **Bounded tiebreak** — computed graph facts: dependencies ready (+10),
|
|
13
|
+
* phase alignment (+20), leverage (+5 per open dependent, capped at +20),
|
|
14
|
+
* anti-starvation age (+1 per week after the first, capped at +10).
|
|
15
|
+
* 4. **createdAt** — older first (parsed and normalised to UTC).
|
|
16
|
+
* 5. **id**.
|
|
17
|
+
*
|
|
18
|
+
* Computed signals therefore never cross a band: a plain ready critical task
|
|
19
|
+
* always outranks a low-priority P0 bug carrying every bonus. The additive
|
|
20
|
+
* scorer this replaces let that bug win 115 to 110. BRAIN success/failure
|
|
21
|
+
* patterns are informational factors only; they are not part of the order.
|
|
22
|
+
*
|
|
7
23
|
* @arch SDK Tool (Category B) — pure, no side effects, contracts-typed
|
|
8
24
|
* @task T10068
|
|
25
|
+
* @task T12661
|
|
26
|
+
* @task T12691
|
|
9
27
|
* @epic T9835
|
|
10
28
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
29
|
+
import { isReadinessDependencySatisfied } from '../tasks/dependency-check.js';
|
|
30
|
+
/** Tier 1 — owner priority band rank (higher first). */
|
|
31
|
+
export const PRIORITY_BAND = {
|
|
32
|
+
critical: 4,
|
|
33
|
+
high: 3,
|
|
34
|
+
medium: 2,
|
|
35
|
+
low: 1,
|
|
16
36
|
};
|
|
17
|
-
|
|
37
|
+
/** Tier 2 — attested severity rank (higher first); `unknown` is 0. */
|
|
38
|
+
export const SEVERITY_RANK = {
|
|
39
|
+
P0: 4,
|
|
40
|
+
P1: 3,
|
|
41
|
+
P2: 2,
|
|
42
|
+
P3: 1,
|
|
43
|
+
};
|
|
44
|
+
/** Tier 3 — bonus when every dependency is satisfied. */
|
|
45
|
+
export const DEPS_READY_SCORE = 10;
|
|
46
|
+
/** Tier 3 — bonus when the task's phase matches the current phase. */
|
|
47
|
+
export const PHASE_ALIGNMENT_SCORE = 20;
|
|
48
|
+
/** Tier 3 — bonus per open task this task unblocks. */
|
|
49
|
+
export const LEVERAGE_PER_DEPENDENT = 5;
|
|
50
|
+
/** Tier 3 — cap on the leverage bonus. */
|
|
51
|
+
export const MAX_LEVERAGE_SCORE = 20;
|
|
52
|
+
/** Tier 3 — cap on the anti-starvation age bonus (+1 per week after the first). */
|
|
53
|
+
export const MAX_AGE_SCORE = 10;
|
|
54
|
+
/** Weights that fold the key into one sortable number (tiebreak stays below 1000). */
|
|
55
|
+
const BAND_WEIGHT = 10000;
|
|
56
|
+
const SEVERITY_WEIGHT = 1000;
|
|
57
|
+
/**
|
|
58
|
+
* Parse a task timestamp to epoch milliseconds, normalised to UTC.
|
|
59
|
+
*
|
|
60
|
+
* Stores hold both ISO-8601 with a zone (`2026-09-01T10:00:00Z`) and SQLite's
|
|
61
|
+
* zone-less `YYYY-MM-DD HH:MM:SS`. `Date.parse` reads the zone-less form as
|
|
62
|
+
* LOCAL time, so the same instant scored and sorted differently by machine
|
|
63
|
+
* (T12661 review). A timestamp without a zone is taken as UTC.
|
|
64
|
+
*
|
|
65
|
+
* @param value - Timestamp text.
|
|
66
|
+
* @returns Epoch milliseconds, or `NaN` when unparseable.
|
|
67
|
+
*/
|
|
68
|
+
export function parseTimestampMs(value) {
|
|
69
|
+
if (!value)
|
|
70
|
+
return Number.NaN;
|
|
71
|
+
const text = value.trim();
|
|
72
|
+
const hasZone = /(?:[zZ]|[+-]\d{2}:?\d{2})$/.test(text);
|
|
73
|
+
if (hasZone || !/\d{2}:\d{2}/.test(text))
|
|
74
|
+
return Date.parse(text);
|
|
75
|
+
return Date.parse(`${text.replace(' ', 'T')}Z`);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Whether every dependency of a task is satisfied, under the same readiness
|
|
79
|
+
* policy as `depsReady` (cancelled work still blocks).
|
|
80
|
+
*/
|
|
18
81
|
function areDepsReady(depends, taskStatuses) {
|
|
19
82
|
if (!depends?.length)
|
|
20
83
|
return true;
|
|
21
84
|
if (!taskStatuses)
|
|
22
85
|
return false;
|
|
23
|
-
return depends.every((depId) =>
|
|
24
|
-
const status = taskStatuses.get(depId);
|
|
25
|
-
return status !== undefined && SATISFIED_STATUSES.has(status);
|
|
26
|
-
});
|
|
86
|
+
return depends.every((depId) => isReadinessDependencySatisfied(taskStatuses.get(depId)));
|
|
27
87
|
}
|
|
28
88
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* Scoring formula:
|
|
32
|
-
* - **Priority** (+25/+50/+75/+100 depending on level)
|
|
33
|
-
* - **Phase alignment** (+20 when task phase matches `ctx.currentPhase`)
|
|
34
|
-
* - **Dependency readiness** (+10 when all deps are done/cancelled)
|
|
35
|
-
* - **Age bonus** (+1 per week over 7 days, capped at +15)
|
|
36
|
-
* - **Brain success pattern** (+10 for first matching success pattern)
|
|
37
|
-
* - **Brain failure pattern** (-5 for first matching failure pattern)
|
|
89
|
+
* Score a single task: its lexicographic key, every factor tagged with its
|
|
90
|
+
* comparator tier, and the key folded into one number that sorts identically.
|
|
38
91
|
*
|
|
39
92
|
* @param task - Task to score
|
|
40
|
-
* @param ctx - Scoring context (phase, dep statuses, patterns)
|
|
41
|
-
* @returns Score and
|
|
93
|
+
* @param ctx - Scoring context (phase, dep statuses, leverage, `nowMs`, patterns)
|
|
94
|
+
* @returns Score, key and factors
|
|
42
95
|
*
|
|
43
96
|
* @example
|
|
44
97
|
* ```typescript
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* { currentPhase: 'v2', taskStatuses: new Map([['T0', 'done']]) },
|
|
48
|
-
* );
|
|
49
|
-
* // result.score === 75 (priority) + 20 (phase) + 10 (deps) = 105
|
|
98
|
+
* scoreTask({ id: 'T1', title: 'Auth', priority: 'high', kind: 'bug' }, {}).key;
|
|
99
|
+
* // { band: 3, severity: 0, tiebreak: 10 } — severity unknown, deps ready
|
|
50
100
|
* ```
|
|
51
101
|
*/
|
|
52
102
|
export function scoreTask(task, ctx) {
|
|
53
103
|
const factors = [];
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
104
|
+
const priority = task.priority ?? 'medium';
|
|
105
|
+
// Own-property lookups only: an unvalidated value such as `toString` must
|
|
106
|
+
// fall back, never yield a prototype member (which would fold to NaN).
|
|
107
|
+
const band = Object.hasOwn(PRIORITY_BAND, priority)
|
|
108
|
+
? PRIORITY_BAND[priority]
|
|
109
|
+
: PRIORITY_BAND['medium'];
|
|
110
|
+
factors.push({
|
|
111
|
+
name: 'band',
|
|
112
|
+
delta: band * BAND_WEIGHT,
|
|
113
|
+
detail: `priority ${priority}`,
|
|
114
|
+
tier: 1,
|
|
115
|
+
});
|
|
116
|
+
const severity = task.severity && Object.hasOwn(SEVERITY_RANK, task.severity) ? SEVERITY_RANK[task.severity] : 0;
|
|
117
|
+
factors.push({
|
|
118
|
+
name: 'severity',
|
|
119
|
+
delta: severity * SEVERITY_WEIGHT,
|
|
120
|
+
detail: task.severity ?? 'unknown (not set)',
|
|
121
|
+
tier: 2,
|
|
122
|
+
});
|
|
123
|
+
let tiebreak = 0;
|
|
124
|
+
const bonus = (name, delta, detail) => {
|
|
125
|
+
tiebreak += delta;
|
|
126
|
+
factors.push({ name, delta, detail, tier: 3 });
|
|
127
|
+
};
|
|
128
|
+
if (areDepsReady(task.depends, ctx.taskStatuses)) {
|
|
129
|
+
bonus('depsReady', DEPS_READY_SCORE, 'all dependencies satisfied');
|
|
130
|
+
}
|
|
60
131
|
if (ctx.currentPhase && task.phase === ctx.currentPhase) {
|
|
61
|
-
|
|
62
|
-
factors.push({
|
|
63
|
-
name: 'phaseAlignment',
|
|
64
|
-
delta: 20,
|
|
65
|
-
detail: `matches current phase "${ctx.currentPhase}"`,
|
|
66
|
-
});
|
|
132
|
+
bonus('phaseAlignment', PHASE_ALIGNMENT_SCORE, `matches current phase "${ctx.currentPhase}"`);
|
|
67
133
|
}
|
|
68
|
-
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
factors.push({ name: 'depsReady', delta: 10, detail: 'all dependencies satisfied' });
|
|
134
|
+
const dependents = ctx.leverage?.get(task.id) ?? 0;
|
|
135
|
+
if (dependents > 0) {
|
|
136
|
+
bonus('leverage', Math.min(MAX_LEVERAGE_SCORE, dependents * LEVERAGE_PER_DEPENDENT), `unblocks ${dependents} open task(s) (capped at +${MAX_LEVERAGE_SCORE})`);
|
|
72
137
|
}
|
|
73
|
-
// Age bonus
|
|
74
138
|
if (task.createdAt) {
|
|
75
139
|
const nowMs = ctx.nowMs ?? Date.now();
|
|
76
|
-
const
|
|
77
|
-
const ageDays = ageMs / (1000 * 60 * 60 * 24);
|
|
140
|
+
const ageDays = (nowMs - parseTimestampMs(task.createdAt)) / (1000 * 60 * 60 * 24);
|
|
78
141
|
if (ageDays > 7) {
|
|
79
|
-
|
|
80
|
-
score += ageBonus;
|
|
81
|
-
factors.push({
|
|
82
|
-
name: 'age',
|
|
83
|
-
delta: ageBonus,
|
|
84
|
-
detail: `${Math.floor(ageDays)} days old`,
|
|
85
|
-
});
|
|
142
|
+
bonus('age', Math.min(MAX_AGE_SCORE, Math.floor(ageDays / 7)), `anti-starvation: ${Math.floor(ageDays)} days old (capped at +${MAX_AGE_SCORE})`);
|
|
86
143
|
}
|
|
87
144
|
}
|
|
88
|
-
//
|
|
145
|
+
// BRAIN patterns: informational only — not part of the order (D11161).
|
|
89
146
|
if (ctx.successPatterns?.length || ctx.failurePatterns?.length) {
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
factors.push({
|
|
108
|
-
name: 'brainFailure',
|
|
109
|
-
delta: -5,
|
|
110
|
-
detail: `failure pattern "${fp.pattern}"`,
|
|
111
|
-
});
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
147
|
+
const matchText = [task.title, ...(task.labels ?? [])].join(' ').toLowerCase();
|
|
148
|
+
const success = ctx.successPatterns?.find((p) => matchText.includes(p.pattern.toLowerCase()));
|
|
149
|
+
if (success)
|
|
150
|
+
factors.push({
|
|
151
|
+
name: 'brainSuccess',
|
|
152
|
+
delta: 0,
|
|
153
|
+
detail: `success pattern "${success.pattern}"`,
|
|
154
|
+
tier: null,
|
|
155
|
+
});
|
|
156
|
+
const failure = ctx.failurePatterns?.find((p) => matchText.includes(p.pattern.toLowerCase()));
|
|
157
|
+
if (failure)
|
|
158
|
+
factors.push({
|
|
159
|
+
name: 'brainFailure',
|
|
160
|
+
delta: 0,
|
|
161
|
+
detail: `failure pattern "${failure.pattern}"`,
|
|
162
|
+
tier: null,
|
|
163
|
+
});
|
|
115
164
|
}
|
|
116
|
-
|
|
165
|
+
const key = { band, severity, tiebreak };
|
|
166
|
+
return { score: band * BAND_WEIGHT + severity * SEVERITY_WEIGHT + tiebreak, factors, key };
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Render one factor as an `--explain` line naming its comparator tier.
|
|
170
|
+
*
|
|
171
|
+
* @param factor - Scored factor.
|
|
172
|
+
* @returns e.g. `tier 1 band: priority high`, `tier 3 depsReady: all dependencies satisfied (+10)`,
|
|
173
|
+
* or `info brainSuccess: … (not in the order)`.
|
|
174
|
+
*/
|
|
175
|
+
export function formatScoreFactor(factor) {
|
|
176
|
+
if (factor.tier === null)
|
|
177
|
+
return `info ${factor.name}: ${factor.detail} (not in the order)`;
|
|
178
|
+
if (factor.tier === 1 || factor.tier === 2)
|
|
179
|
+
return `tier ${factor.tier} ${factor.name}: ${factor.detail}`;
|
|
180
|
+
const sign = factor.delta >= 0 ? '+' : '';
|
|
181
|
+
return `tier 3 ${factor.name}: ${factor.detail} (${sign}${factor.delta})`;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Count, for every task id, the OPEN tasks that depend on it — the leverage
|
|
185
|
+
* input of {@link scoreTask}. Done, archived and cancelled dependents are not
|
|
186
|
+
* work this task unblocks.
|
|
187
|
+
*
|
|
188
|
+
* @param tasks - Tasks with `depends` and `status`.
|
|
189
|
+
* @returns Map of task id to number of open dependents.
|
|
190
|
+
*/
|
|
191
|
+
export function computeLeverage(tasks) {
|
|
192
|
+
const leverage = new Map();
|
|
193
|
+
for (const task of tasks) {
|
|
194
|
+
if (isReadinessDependencySatisfied(task.status) || task.status === 'cancelled')
|
|
195
|
+
continue;
|
|
196
|
+
for (const dep of task.depends ?? [])
|
|
197
|
+
leverage.set(dep, (leverage.get(dep) ?? 0) + 1);
|
|
198
|
+
}
|
|
199
|
+
return leverage;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Order tasks by the tiered key: band, severity, tiebreak (all higher first),
|
|
203
|
+
* then older `createdAt` (parsed, UTC), then id — deterministic, so every
|
|
204
|
+
* ranker returns the same order for the same input.
|
|
205
|
+
*
|
|
206
|
+
* @param tasks - Candidate tasks.
|
|
207
|
+
* @param ctx - Shared scoring context.
|
|
208
|
+
* @returns Ranked tasks.
|
|
209
|
+
*/
|
|
210
|
+
export function rankTasks(tasks, ctx) {
|
|
211
|
+
// Missing or unparseable timestamps sort after every dated task.
|
|
212
|
+
const created = (task) => {
|
|
213
|
+
const ms = parseTimestampMs(task.createdAt);
|
|
214
|
+
return Number.isNaN(ms) ? Number.POSITIVE_INFINITY : ms;
|
|
215
|
+
};
|
|
216
|
+
const zero = { band: 0, severity: 0, tiebreak: 0 };
|
|
217
|
+
return tasks
|
|
218
|
+
.map((task) => ({ task, ...scoreTask(task, ctx), createdMs: created(task) }))
|
|
219
|
+
.sort((a, b) => {
|
|
220
|
+
const ka = a.key ?? zero;
|
|
221
|
+
const kb = b.key ?? zero;
|
|
222
|
+
return (kb.band - ka.band ||
|
|
223
|
+
kb.severity - ka.severity ||
|
|
224
|
+
kb.tiebreak - ka.tiebreak ||
|
|
225
|
+
(a.createdMs === b.createdMs ? 0 : a.createdMs < b.createdMs ? -1 : 1) ||
|
|
226
|
+
a.task.id.localeCompare(b.task.id));
|
|
227
|
+
})
|
|
228
|
+
.map(({ createdMs: _createdMs, ...rest }) => rest);
|
|
117
229
|
}
|
|
118
230
|
//# sourceMappingURL=score-task-priority.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score-task-priority.js","sourceRoot":"","sources":["../../src/task-tools/score-task-priority.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"score-task-priority.js","sourceRoot":"","sources":["../../src/task-tools/score-task-priority.ts"],"names":[],"mappings":"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"}
|
|
@@ -159,11 +159,15 @@ export declare function scriptTestTargets(root: string, packages: readonly strin
|
|
|
159
159
|
* Expand a `testing.affectedCommand` template into a spawnable command.
|
|
160
160
|
* `{projects}` → `--project <name>` per package, `{filters}` → `--filter
|
|
161
161
|
* <name>` per package, `{packages}` → the names. Each expands to separate
|
|
162
|
-
* arguments
|
|
162
|
+
* arguments. The template is split with POSIX `sh` quoting and run without a
|
|
163
|
+
* shell, so shell syntax (`&&`, `|`, `$`, …) is refused rather than passed to
|
|
164
|
+
* the target as literal words, which could run a different program and
|
|
165
|
+
* false-PASS (T12718).
|
|
163
166
|
*
|
|
164
167
|
* @param template - e.g. `pnpm exec vitest run {projects}`.
|
|
165
168
|
* @param packages - Affected package names.
|
|
166
169
|
* @returns The executable and its arguments.
|
|
170
|
+
* @throws When the template uses shell syntax or has an unterminated quote.
|
|
167
171
|
* @task T12635
|
|
168
172
|
*/
|
|
169
173
|
export declare function buildAffectedTestCommand(template: string, packages: readonly string[], projects?: readonly string[]): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected-packages.d.ts","sourceRoot":"","sources":["../../src/tasks/affected-packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"affected-packages.d.ts","sourceRoot":"","sources":["../../src/tasks/affected-packages.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
|
27
27
|
import { join, relative } from 'node:path';
|
|
28
28
|
import { promisify } from 'node:util';
|
|
29
29
|
import { isCiDocumentPath } from '../release/ci-evidence.js';
|
|
30
|
+
import { splitCommandLine } from './command-line.js';
|
|
30
31
|
import { acquireGlobalSlot } from './tool-semaphore.js';
|
|
31
32
|
/**
|
|
32
33
|
* A path with `/` separators. `path.relative` and Windows callers produce `\`,
|
|
@@ -357,15 +358,19 @@ export function scriptTestTargets(root, packages, direct) {
|
|
|
357
358
|
* Expand a `testing.affectedCommand` template into a spawnable command.
|
|
358
359
|
* `{projects}` → `--project <name>` per package, `{filters}` → `--filter
|
|
359
360
|
* <name>` per package, `{packages}` → the names. Each expands to separate
|
|
360
|
-
* arguments
|
|
361
|
+
* arguments. The template is split with POSIX `sh` quoting and run without a
|
|
362
|
+
* shell, so shell syntax (`&&`, `|`, `$`, …) is refused rather than passed to
|
|
363
|
+
* the target as literal words, which could run a different program and
|
|
364
|
+
* false-PASS (T12718).
|
|
361
365
|
*
|
|
362
366
|
* @param template - e.g. `pnpm exec vitest run {projects}`.
|
|
363
367
|
* @param packages - Affected package names.
|
|
364
368
|
* @returns The executable and its arguments.
|
|
369
|
+
* @throws When the template uses shell syntax or has an unterminated quote.
|
|
365
370
|
* @task T12635
|
|
366
371
|
*/
|
|
367
372
|
export function buildAffectedTestCommand(template, packages, projects = packages) {
|
|
368
|
-
const words = template.
|
|
373
|
+
const words = splitCommandLine(template, 'testing.affectedCommand');
|
|
369
374
|
const expanded = words.flatMap((word) => {
|
|
370
375
|
if (word === '{projects}')
|
|
371
376
|
return projects.flatMap((p) => ['--project', p]);
|
|
@@ -442,6 +447,19 @@ export async function planAffectedTestRun(storeRoot, root, opts = {}) {
|
|
|
442
447
|
'"pnpm exec vitest run {projects}" ({projects}/{filters}/{packages} expand per package).',
|
|
443
448
|
};
|
|
444
449
|
}
|
|
450
|
+
// T12718: a template the runner cannot split without a shell is a config
|
|
451
|
+
// error, refused before anything runs — never a pass for a truncated argv.
|
|
452
|
+
let templateWords;
|
|
453
|
+
try {
|
|
454
|
+
templateWords = splitCommandLine(template, 'testing.affectedCommand');
|
|
455
|
+
}
|
|
456
|
+
catch (error) {
|
|
457
|
+
return {
|
|
458
|
+
ok: false,
|
|
459
|
+
codeName: 'E_EVIDENCE_TOOL_UNAVAILABLE',
|
|
460
|
+
reason: `${error instanceof Error ? error.message : String(error)} (.cleo/project-context.json)`,
|
|
461
|
+
};
|
|
462
|
+
}
|
|
445
463
|
const changed = changedPathsSinceDefault(root);
|
|
446
464
|
if (changed === null) {
|
|
447
465
|
return {
|
|
@@ -465,7 +483,7 @@ export async function planAffectedTestRun(storeRoot, root, opts = {}) {
|
|
|
465
483
|
reason: 'The change touches no workspace package, so there is nothing to test by scope; use tool:test.',
|
|
466
484
|
};
|
|
467
485
|
}
|
|
468
|
-
const targets =
|
|
486
|
+
const targets = templateWords.includes('{projects}')
|
|
469
487
|
? await affectedTestTargets(root, scope.packages, scope.direct, (r) => listVitestProjects(r, { wait: opts.wait === true }))
|
|
470
488
|
: scriptTestTargets(root, scope.packages, scope.direct);
|
|
471
489
|
if (!targets.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affected-packages.js","sourceRoot":"","sources":["../../src/tasks/affected-packages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"affected-packages.js","sourceRoot":"","sources":["../../src/tasks/affected-packages.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks/analyze.d.ts
CHANGED
|
@@ -3,11 +3,39 @@
|
|
|
3
3
|
* @task T4538
|
|
4
4
|
* @epic T4454
|
|
5
5
|
*/
|
|
6
|
-
import type { TaskAnalysisResult } from '@cleocode/contracts';
|
|
6
|
+
import type { Task, TaskAnalysisResult } from '@cleocode/contracts';
|
|
7
7
|
import type { DataAccessor } from '../store/data-accessor.js';
|
|
8
8
|
export interface AnalysisResult extends TaskAnalysisResult {
|
|
9
9
|
autoStarted?: boolean;
|
|
10
10
|
}
|
|
11
|
+
/** One ranked task as the analyze tiers report it. */
|
|
12
|
+
export interface AnalysisRankedTask {
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
/** Open tasks this task unblocks (the scorer's leverage input). */
|
|
16
|
+
leverage: number;
|
|
17
|
+
priority: Task['priority'];
|
|
18
|
+
score: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Rank tasks for `cleo analyze` exactly as `cleo next` and the briefing do —
|
|
22
|
+
* {@link rankReadyTasks} with {@link resolveRankingPhase} and BRAIN patterns —
|
|
23
|
+
* so all three recommend the same task in the same order (T12661).
|
|
24
|
+
*
|
|
25
|
+
* @param accessor - Task data accessor.
|
|
26
|
+
* @param allTasks - The active task population.
|
|
27
|
+
* @param opts - Project root (for BRAIN patterns), an optional id scope, and
|
|
28
|
+
* `nowMs` (defaults to now) for the age tiebreak.
|
|
29
|
+
* @returns Ranked ready tasks with their open-dependent leverage.
|
|
30
|
+
* @task T12661
|
|
31
|
+
*/
|
|
32
|
+
export declare function rankForAnalysis(accessor: DataAccessor, allTasks: readonly Task[], opts?: {
|
|
33
|
+
projectRoot?: string;
|
|
34
|
+
scopeTaskIds?: ReadonlySet<string>;
|
|
35
|
+
nowMs?: number;
|
|
36
|
+
}): Promise<{
|
|
37
|
+
ranked: AnalysisRankedTask[];
|
|
38
|
+
}>;
|
|
11
39
|
/** Analyze task priority with leverage scoring. */
|
|
12
40
|
export declare function analyzeTaskPriority(opts: {
|
|
13
41
|
autoStart?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/tasks/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/tasks/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,SAAS,IAAI,EAAE,EACzB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACtF,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAe3C;AAED,mDAAmD;AACnD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,cAAc,CAAC,CAsEzB"}
|