mirror of
https://github.com/Jeuners/ECC.git
synced 2026-09-09 15:02:30 +02:00
actions.js:
- Add assertValidRepo/assertValidIssueNumber guards at the top of all
action handlers (applyClaim, applySync, applyValidate, applyPublish,
applyReview, applyDecompose, applyUnblock) for fast-fail validation
- applyValidate: fix status transition — set 'validated' unconditionally
when ok=true instead of preserving 'blocked' (was inconsistent with
projectState becoming 'ready')
gh-api.js:
- runGh: preserve GITHUB_TOKEN by default; only delete when caller
explicitly sets options.stripGithubToken=true (was deleting by
default, breaking CI)
parsing.js:
- extractCoordinationState: throw SyntaxError on malformed JSON instead
of silently returning null — lets callers distinguish bad JSON from
absent marker
- normalizeBodyForComparison: fix regex to match JSON-quoted form
"lastSyncAt": ... instead of bare lastSyncAt: ...
policy.js:
- loadPolicy: validate that parsed JSON is a plain object before
spreading; coerce nested fields (labels, review, validation,
branchModel, project, fieldNames) to objects before merging
state.js:
- assertIssueClaimable: block re-claim on status alone (not status AND
owner) to prevent {status:'claimed', owner:null} bypass; use
state.owner || 'unknown' in error message
- getCoordinationState: catch SyntaxError from extractCoordinationState,
log warning to stderr, fall back to default state
tests/lib:
- Update malformed-JSON test to expect SyntaxError throw instead of null
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| control-pane | ||
| github-coordination | ||
| install | ||
| install-targets | ||
| mcp-inventory | ||
| session-adapters | ||
| skill-evolution | ||
| skill-improvement | ||
| state-store | ||
| worktree-lifecycle | ||
| agent-compress.js | ||
| agent-data-home.js | ||
| cost-estimate.js | ||
| cursor-agent-names.js | ||
| ecc_dashboard_runtime.py | ||
| github-coordination.js | ||
| github-discussions.js | ||
| harness-adapter-compliance.js | ||
| hook-flags.js | ||
| inspection.js | ||
| install-executor.js | ||
| install-lifecycle.js | ||
| install-manifests.js | ||
| install-state.js | ||
| mcp-config.js | ||
| observer-sessions.js | ||
| orchestration-session.js | ||
| package-manager.d.ts | ||
| package-manager.js | ||
| project-detect.js | ||
| resolve-ecc-root.js | ||
| resolve-formatter.js | ||
| session-aliases.d.ts | ||
| session-aliases.js | ||
| session-bridge.js | ||
| session-manager.d.ts | ||
| session-manager.js | ||
| shell-split.js | ||
| shell-substitution.js | ||
| tmux-worktree-orchestrator.js | ||
| utils.d.ts | ||
| utils.js | ||