Skip to content

v1.7.0

Choose a tag to compare

@cursor cursor released this 17 Oct 06:31
· 92 commits to main since this release
Immutable release. Only release title and notes can be modified.

[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>.json RED validation records. Commit
    it with rdd-receipts/ and evidence/, or a clean clone rejects the RED.

  • token-audit skill (.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-redirect gate (5 council stubs <400B each, ~90.6% smaller
    than the ~19KB baseline) and drift coverage of the generated
    COUNCIL_FALLBACK_PROFILE mirror.

  • muse runner target: install preset --target muse writes shared skills
    to .agents/skills/, hooks to .muse/hooks.json, and a managed AGENTS.md
    at the project root; all 14 agent roles default to muse-spark-1.3. Hooks
    speak the Claude-compatible protocol over --format=muse.

  • ccep consensus --panel selects the smallest deterministic council panel
    for the declared --type/--scope/--risk and validates ballots before
    reduction; without ballots it returns the panel config.

  • OpenSpec sync merges delta specs without closing the item and verify
    reports the advisory pre-archive checklist; archive needs a PASS scorecard
    when review is required.

  • create-only install 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 compatible full
    default) and opt-in local context.compiled telemetry with UTF-8 prompt and
    layer sizes.

  • usage command: narrative installation guide with resolved examples for
    install preset, install council, and install 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 that openspec done requires for test
    (RED) and implement (GREEN) cards; it replaces the library-only
    captureTddSuiteEvidence call in every skill and command.

  • openspec archive --allow-unchecked to archive despite unchecked
    tasks.md boxes.

Changed

  • Auto-derived scorecard criteria preserve absent measurements as score: null
    with unmeasured: true; unresolved criteria prevent PASS. Manual resolution
    requires a score, notes, and autoSuggested: 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 requires CC_DEV=1. Opt-in CC_HOOK_FAIL_CLOSED=1 or
    --fail-closed denies pre-tool when the guard is unavailable. Session-start
    warns and doctor probes runner availability.

  • When Global requires TDD, openspec done on 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 create now
    requires RED and GREEN separately (was OR), like openspec 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 in skills/<name>/ and
    shared-skills.yml; sync:skills generates the preset copies. Cursor copies
    untouched; 7 codex/opencode copies change format only (autolinks, blank lines).

  • CCEP Step 0 bootstrap now runs ccep profile plus one ccep compile --view prompt per delegated phase and forwards only the role-scoped prompt,
    replacing the parse + resolve + profile sequence across all runners.

  • /cc:handoff uses the odd handoff envelope 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.md routing guidance now
    matches role models (Sonnet 5.5 default, Haiku for discovery and routing,
    opus for 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 into settings.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 to default.

  • 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; promoted code-review,
    seo-analytics-injector, and tdd-mutation-tester to 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-versioning to 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:review anchoring CRITICAL/WARNING/SUGGESTION
    to concrete conditions instead of general judgment, applied across all seven
    runners and referenced from docs/agent-scorecard.md.

  • detectComplementaryTools() now probes its six optional tools concurrently
    (promisified execFile) instead of sequentially, cutting the worst-case
    doctor/install/update stall from ~6s to ~1s.

  • openspec done no longer regenerates tasks.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 archive now fails on unchecked
    tasks.md boxes (override: --allow-unchecked), ticks the BACKLOG
    acceptance criteria, and verify reports archiveReady: false while boxes
    remain. Change folders planned before this release have untagged boxes:
    tick them by hand, re-run openspec plan, or archive with --allow-unchecked.

  • openspec next is read-only (no compile-check loop) and names the card in
    progress instead of telling the agent to run plan.

  • Every skill, preset, hook message and generated command now tells agents to
    run npx cc-codeconductor; bun run dev remains 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 Bun global, so
    npx cc-codeconductor openspec next|done and captureTddSuiteEvidence work
    under Node (previously Bun is not defined).
  • Restore .agents/skills/council/SKILL.md as 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-engineering skill 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-design skill for contextual Jetpack Compose phone UI design,
    implementation, review, and read-only audits across all seven runners.

  • .gitattributes enforcing eol=lf on checkout, preventing Windows
    core.autocrlf from 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.sh dry-run test derives expected versions from package.json
    instead of a hardcoded 1.4.x, unblocking release.sh patch.
  • Opus escalation in /cc:openspec and the Claude council skill uses the Agent
    tool alias model: opus instead of a full model ID.
  • Codex council install no longer loses [agents.*] tables when the preset
    created .codex/config.toml first; missing tables are appended and existing
    settings are kept.
  • ODD ledger requests reject absolute or .. technicalPlanPath values.
  • 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 new rewriteSkillsPath() render step.
  • Removed the dangling reference to a non-existent
    pagespeed-perf/scripts/run.ts script from the pagespeed workflow (cursor
    origin, opencode, and the agy skill and workflow copies).
  • Removed a stray reasoning-trace comment left in test-freeze.ts and
    documented that its only consumer is the experimental runWorkflowPipeline()
    loop, not the production RDD verification gate.