Repository navigation
v1.7.0
[1.7.0] - 2026-10-10
Changes since v1.6.1. Upgrade notes for the earlier v1.6.1..3e5a553 range
remain in Changes after v1.6.1.
Added
-
Atomic Goal DAG persistence and process locks for task claims, optional
priority, deterministic selection, transitive dependency blocking, and cycle
diagnostics (1.7 foundations). -
Named OpenSpec requirements with
req:<capability>/<slug>IDs, WHEN/THEN
scenarios, and RENAMED delta support with FROM/TO conflict checks. -
OpenSpec item base commits captured on first
start; scorecards include
changes committed during the item's delivery. -
.codeconductor/tdd-validations/<card>.jsonRED validation records. Commit
it withrdd-receipts/andevidence/, or a clean clone rejects the RED. -
token-auditskill (.agents/skills/token-audit/): C1 council-duplication,
C2 fallback-sync, and S1 STOP/scope report-only rules with the official
bytes/4 + bytes/% savings method; enforced by the new
check:council-redirectgate (5 council stubs <400B each, ~90.6% smaller
than the ~19KB baseline) and drift coverage of the generated
COUNCIL_FALLBACK_PROFILEmirror. -
muserunner target:install preset --target musewrites shared skills
to.agents/skills/, hooks to.muse/hooks.json, and a managedAGENTS.md
at the project root; all 14 agent roles default tomuse-spark-1.3. Hooks
speak the Claude-compatible protocol over--format=muse. -
ccep consensus --panelselects the smallest deterministic council panel
for the declared--type/--scope/--riskand validates ballots before
reduction; without ballots it returns the panel config. -
OpenSpec
syncmerges delta specs without closing the item andverify
reports the advisory pre-archive checklist;archiveneeds a PASS scorecard
when review is required. -
create-onlyinstall strategy: manifest entries that write only when the
destination is missing and never overwrite, even with--force. -
odd handoff --id <delivery-id>derives a compact, transcript-free handoff
envelope from the existing Delivery Ledger and current workspace divergence. -
CCEP compilation views (
prompt,layers, or the compatiblefull
default) and opt-in localcontext.compiledtelemetry with UTF-8 prompt and
layer sizes. -
usagecommand: narrative installation guide with resolved examples for
install preset,install council, andinstall lsp(single target,
--global,--force,--dry-run,--target all,--locale, and
combinations), plus the post-install verification loop (doctor,
status,update,migrate). -
tdd capture --task <cardId> --phase red|green --command "<test command>"
stores the runner-verified evidence thatopenspec donerequires for test
(RED) and implement (GREEN) cards; it replaces the library-only
captureTddSuiteEvidencecall in every skill and command. -
openspec archive --allow-uncheckedto archive despite unchecked
tasks.mdboxes.
Changed
-
Auto-derived scorecard criteria preserve absent measurements as
score: null
withunmeasured: true; unresolved criteria prevent PASS. Manual resolution
requires a score, notes, andautoSuggested: false. Ablation skips null
criteria and compares criterion deltas only when both sides are measured. -
Claude project settings use JSON merge, preserve user preferences/plugins,
reject invalid existing JSON, and warn about retained broad permissions.
Clean installs omit broad executor/WebFetch permissions and automatic SEO
plugin activation. -
Hook wrappers resolve installed CodeConductor runners; project source/build
execution requiresCC_DEV=1. Opt-inCC_HOOK_FAIL_CLOSED=1or
--fail-closeddenies pre-tool when the guard is unavailable. Session-start
warns and doctor probes runner availability. -
When Global requires TDD,
openspec doneon a test card validates RED
evidence against the current project and records it; the recorded RED stays valid after later
changes, GREEN still needs a current receipt.scorecard createnow
requires RED and GREEN separately (was OR), likeopenspec analyze. Test
cards closed before this change have no record, so their stale RED does not
count. -
14 duplicated stack skills (android, backlog, conductor-setup,
django-testing, find-skills, laravel-specialist, pagespeed-insights,
pagespeed-perf, php-pro, python-django-stack, python-fastapi-stack,
security, spring-boot-kotlin, sqlalchemy) now live inskills/<name>/and
shared-skills.yml;sync:skillsgenerates the preset copies. Cursor copies
untouched; 7 codex/opencode copies change format only (autolinks, blank lines). -
CCEP Step 0 bootstrap now runs
ccep profileplus oneccep compile --view promptper delegated phase and forwards only the role-scopedprompt,
replacing theparse+resolve+profilesequence across all runners. -
/cc:handoffuses theodd handoffenvelope as its source when a Delivery
Ledger exists; secret redaction still applies. -
Claude preset sets
effortLevel: "medium"and disables
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS;CLAUDE.mdrouting guidance now
matches role models (Sonnet 5.5 default, Haiku for discovery and routing,
opusfor one-off escalation) and the Two-Axis list renders correctly. -
OpenSpec validate gate renamed to Step 0a; phases run as isolated subagents
instead of clearing the main session. -
Simplify Claude Code settings for the Sonnet alias and latest updates, remove
obsolete thinking and compact overrides, extend destructive-command rules to
PowerShell, and stop injecting Claude MCP servers intosettings.json. -
Route heavy Claude OpenSpec and council work through Sonnet 5.5, leaving
simple routing and discovery on Haiku and reserving Opus 5.5
for scoped business-logic architecture questions; set Codex presets and council
to GPT-6.1 Sol at medium reasoning effort with concise phase handoffs. -
Scope CCEP knowledge to each known role, remove duplicate request text from
task prompts, and compile role-specific output schemas for generic phases. -
Parse native Claude and Antigravity hook stdin, replay input across runner
fallbacks, normalize Windows paths and Git executables, and run local
formatters through Node without npm shell shims. Claude permissions now
default todefault. -
Use the four requested OpenCode Go models with compatible permission rules and
provider sampling defaults; correct Antigravity CLI model slugs. -
Use portable lowercase skill names across canonical, preset, and installed
skills, with regression validation and hook CI on Linux, macOS, and Windows. -
Extended the 20
security-*skills to Codex; promotedcode-review,
seo-analytics-injector, andtdd-mutation-testerto all five targets;
added 11 stack skills (astro, auth-token-inspector, django-uv,
drizzle-schema-architect, fastapi-pydantic-strict, jpa-nplusone-detector,
livewire-alpine-bridge, nextjs-typescript, spring-auth-auditor,
spring-boot-testing-strategy, tailwind-responsive-auditor) to Claude, Codex,
and Antigravity, sourced from the Cursor-less opencode variant; promoted
python,django-orm,spring-boot-feature,jpa-postgres, and
api-versioningto canonical shared skills across all five targets,
fixing formatting drift between the claude/opencode copies. -
Extended
classifyRisk()'s high-risk pattern with infrastructure and
supply-chain signals (alembic, CI/CD workflow files, Dockerfile/terraform,
dependency lockfiles). -
Added a Severity Rubric to
/cc:reviewanchoring CRITICAL/WARNING/SUGGESTION
to concrete conditions instead of general judgment, applied across all seven
runners and referenced fromdocs/agent-scorecard.md. -
detectComplementaryTools()now probes its six optional tools concurrently
(promisifiedexecFile) instead of sequentially, cutting the worst-case
doctor/install/updatestall from ~6s to ~1s. -
openspec doneno longer regeneratestasks.md: it ticks only the boxes
tagged with that card and keeps agent edits. Generated boxes are tagged with
the card that proves them.openspec archivenow fails on unchecked
tasks.mdboxes (override:--allow-unchecked), ticks the BACKLOG
acceptance criteria, andverifyreportsarchiveReady: falsewhile boxes
remain. Change folders planned before this release have untagged boxes:
tick them by hand, re-runopenspec plan, or archive with--allow-unchecked. -
openspec nextis read-only (no compile-check loop) and names the card in
progress instead of telling the agent to runplan. -
Every skill, preset, hook message and generated command now tells agents to
runnpx cc-codeconductor;bun run devremains only in maintainer docs
(CLAUDE.md,AGENTS.md,docs/), guarded by a drift test.
Fixed
- Compile checks and TDD evidence capture no longer use the
Bunglobal, so
npx cc-codeconductor openspec next|doneandcaptureTddSuiteEvidencework
under Node (previouslyBun is not defined). - Restore
.agents/skills/council/SKILL.mdas a pure redirect stub (no embedded
roster) so D2 A6 stays green after preset install-state sync.
Added
-
Receipt-Driven Development receipts for local verification, TDD transitions,
OpenSpec gates, ODD resumption, and Council candidate comparison. -
/cc-security(/cc:security) — authorized defensive security workflow with
an authorization gate and risk-based routing. -
Shared
web-design-engineeringskill for contextual web UI design, implementation,
and review across all seven runners, with conditional workflow references,
accessibility and motion criteria, and explicit pending visual verification. -
Shared
android-ui-designskill for contextual Jetpack Compose phone UI design,
implementation, review, and read-only audits across all seven runners. -
.gitattributesenforcingeol=lfon checkout, preventing Windows
core.autocrlffrom reintroducing CRLF into shipped preset sources. -
test/unit/core/ccep/risk-classifier.test.ts— explicit signal matrix for
classifyRisk(), covering every HIGH_RE and infrastructure pattern plus all
type-based rules.
Fixed
release.shdry-run test derives expected versions frompackage.json
instead of a hardcoded1.4.x, unblockingrelease.sh patch.- Opus escalation in
/cc:openspecand the Claude council skill uses the Agent
tool aliasmodel: opusinstead of a full model ID. - Codex council install no longer loses
[agents.*]tables when the preset
created.codex/config.tomlfirst; missing tables are appended and existing
settings are kept. - ODD ledger requests reject absolute or
..technicalPlanPathvalues. - Windows-incompatible path handling:
basename()/relative()replace
split('/')in the knowledge source parsers, ingest pipeline, and CCEP
command parser;join()replaces string concatenation for the workflow
loop's test-freeze lock path. - Cursor, OpenCode, and Antigravity's
security/pagespeed/openspec
commands referenced.claude/skills/...regardless of the installed
target; corrected to each target's actual skill path (.cursor/skills/,
.opencode/skills/,.agents/skills/), with Gemini and Codex regenerated
through a newrewriteSkillsPath()render step. - Removed the dangling reference to a non-existent
pagespeed-perf/scripts/run.tsscript from the pagespeed workflow (cursor
origin, opencode, and the agy skill and workflow copies). - Removed a stray reasoning-trace comment left in
test-freeze.tsand
documented that its only consumer is the experimentalrunWorkflowPipeline()
loop, not the production RDD verification gate.