github open-gsd/gsd-core v1.9.0

6 hours ago

Install

npm i @opengsd/gsd-core@1.9.0
# or
npm i @opengsd/gsd-core@latest

What's Changed

Feature

  • feat(#2481): add a negotiated effortSurface axis and wire invocation-time effort by @trek-e in #2490
  • feat(#2505): Phase 0 — Kimi PreToolUse guard vocabulary normalization (precondition; carries PR #2326 forward) by @trek-e in #2518
  • feat(#2505): Phase 1 — EoS descriptor split (kimi-code capability.json + drift-guard registration) by @trek-e in #2519
  • feat(#2505): Phase 2 — kimi-code Agent Skills install layout by @trek-e in #2520
  • feat(#2505): Phase 3 — agent-skills fallback for non-dispatchable runtimes by @trek-e in #2521
  • feat(#2505): Phase 4 — runtime-aware subagent dispatch (Option A; resolve-dispatch-type query) by @trek-e in #2525
  • feat(#2505): Phase 5 — Kimi variant install-time disambiguation by @trek-e in #2535
  • feat(#2249): bracket phase-id core grammar — parse/render/toDir round-trip pair (epic #612 PR-1) by @bshiggins in #2258
  • feat(#2584): add dispatch.isolation sub-field — negotiated executor isolation (Phase 1, unconsumed) by @trek-e in #2604
  • feat(#2584): Phase 2 — worktree create verb + orchestrator-exec resolver by @trek-e in #2625
  • feat(#2584): Phase 3 — scheduler consumer + isolation adapters (proven on Codex) by @trek-e in #2635
  • feat(#2630): phase-estimation module, smart-zone config key, and cli verbs by @trek-e in #2661
  • feat(#2631): planner emits estimate and plan-checker surfaces the over-budget flag by @trek-e in #2670
  • feat(#2632): executor actuals and the closed estimate-calibration loop by @trek-e in #2672
  • feat(#2796): reviewer lane as a fourth trust-disclosure class by @trek-e in #2826

Enhancement

  • enhance(#1854): offer restore for user-added files backed up on update by @trek-e in #2679
  • enhance(#2671): brand raw vs calibrated token types so double-application is a compile error by @trek-e in #2676
  • enhance(#2721): regenerating merge driver, regen:derived, and a name for the emitted-artifact family by @trek-e in #2730
  • enhance(#2778): make the size-ratchet failure name its own remedy by @trek-e in #2780
  • enhance(#1699): require read-and-cite provenance for in-repo discrete values by @davesienkowski in #2768
  • enhance(#2572): run the verify-summary artifact check against phase SUMMARYs by @davesienkowski in #2685
  • enhance(#2151): probe interactive-control for loading and error states by @davesienkowski in #2575
  • enhance(#2793): ADR-2782 — reviewer lane becomes a declared capability surface by @trek-e in #2809
  • enhance(#2800): derive reviewer flag lists and gate reviewer lane docs across locales by @trek-e in #2882

Fix

  • fix(#1847): add Claude Sonnet 5 and curated 1.6.1 hotfix fixes by @trek-e in #1848
  • fix(#2504): make auto-backmerge survive a broken workflow copy + gate the invariants by @trek-e in #2506
  • fix(#2515): auto-merge the release/hotfix → main PR when clean by @trek-e in #2516
  • fix(#2460): pi before_provider_request fail-opens without explicit model_profile_overrides by @trek-e in #2499
  • fix(#2505): set USERPROFILE in kimi-variant test env + add issue refs on allow-test-rule exemptions by @trek-e in #2545
  • fix(#1995): widen worktree branch regex to accept agent- namespace by @trek-e in #2548
  • fix(#2269): add --files to three unscoped query commit call sites by @trek-e in #2549
  • fix(#2279): refresh date stamps on map-codebase Update runs by @trek-e in #2550
  • fix(#2366): scope parseCoverageMatrix to recognized coverage tables by @trek-e in #2551
  • fix(#2400): warn on planned-phase no-op + sync progress.total_plans by @trek-e in #2552
  • fix(#2429): scope Codex skills home override to --global only by @trek-e in #2553
  • fix(#2474): gate worktree dispatch on project-level USE_WORKTREES too by @trek-e in #2561
  • fix(#2429): add regression-test gate + missing tests for #2429/#2279 by @trek-e in #2563
  • fix(#2576): normalize padded vs unpadded resolves_phase in close_phase_todos by @trek-e in #2597
  • fix(#2494): capture stderr and guard empty output on the claude and gemini reviewer legs by @0xdhx in #2592
  • fix(#2556): rescue SUMMARY when cat-file reports absent (exit 128, not 1) by @trek-e in #2611
  • fix(#2491): finish todos/done -> todos/completed rename (14 stale refs) + guard by @trek-e in #2626
  • fix(#2498): pass --no-track when branching off origin/$DEFAULT_BRANCH by @trek-e in #2628
  • fix(#2517): plan-phase omits model= when *_model is inherit/empty (port execute-phase fix) by @trek-e in #2634
  • fix(#2522): fold wrapped success-criteria lines into their criterion by @trek-e in #2637
  • fix(#2523): normalize --files to repo-relative; reject out-of-repo; gate push on git-add exit by @trek-e in #2638
  • fix(#2537): extract offer_next step to references/ (~3.3KB headroom restored) by @trek-e in #2642
  • fix(#2479): drop the codex hook-trust bypass flag and its capability probe by @behruznassre in #2536
  • fix(#2653): regenerate stale api-coverage.cjs + add artifact-sync guard by @trek-e in #2656
  • fix(#2654): bump js-yaml past the merge-key DoS advisory by @trek-e in #2655
  • fix(#2567): scope Paused At to ## Session + guard Last Activity date regression by @trek-e in #2660
  • fix(#2565): route generate-claude-profile target through runtime policy by @trek-e in #2659
  • fix(#2539): anchor commit phase-token detection; drop silent wrong-branch switch by @trek-e in #2669
  • fix(#2589): use --raw/--pick for config/model/verify lookups, drop jq dep by @trek-e in #2673
  • fix(#2587): resolve cursor hook workspace from workspace_roots, not cwd by @trek-e in #2680
  • fix(#2590): emit Workflow scripts the Workflow tool accepts; make the backend reachable by @trek-e in #2681
  • fix(#2598): declare OpenCode subagent dispatch synchronous, not background by @trek-e in #2682
  • fix(#2603): document kimi-code in the host-integration capability matrix by @trek-e in #2687
  • fix(#1880): distinguish a corrupt config from an absent one (epic #1879 Phase 1) by @trek-e in #2688
  • fix(#2605): make dropped local-server reviewer lanes loud instead of silent by @trek-e in #2689
  • fix(#2608): fail closed when git add fails during commit staging by @trek-e in #2693
  • fix(#2615): document the effortSurface axis in the host-integration matrix by @trek-e in #2698
  • fix(#2617): project verification next_command onto the runtime's command surface by @trek-e in #2700
  • fix(#2684): bind scan.md and ship.md model dispatch to fields their workflows resolve by @trek-e in #2710
  • fix(#2711): propagate the #2517 omit-on-inherit rule to all 15 unguarded workflows by @trek-e in #2713
  • fix(#2686): thread the resolved executor model into the Workflow backend by @trek-e in #2715
  • fix(#1882): distinguish unterminated frontmatter from absent frontmatter by @trek-e in #2712
  • fix(#1856): give the executor-worktree refusal a handoff instead of a dead end by @trek-e in #2727
  • fix(#2568): commit the debug session doc on the manager-driven terminal path by @trek-e in #2731
  • fix(#1881): report an unreadable ROADMAP instead of reading it as absent by @trek-e in #2729
  • fix(#2723): reconcile emitted manifest families as a set, not a count by @trek-e in #2750
  • fix(#2753): scan every key occurrence when asserting a documented default by @trek-e in #2756
  • fix(#2757): attribute transform-driven emitted changes and reclassify agents-verbatim by @trek-e in #2760
  • fix(#2758): select the emitted differential wherever golden-parity runs by @trek-e in #2759
  • fix(#2526): remove gsd-ui-auditor's uncallable Playwright-MCP block by @0xdhx in #2594
  • fix(#2691): repair seven dangling references in the ADR corpus and contributor docs by @davesienkowski in #2692
  • fix(#2620): inject the reference DispatchLogger on the live dispatch seam when observability is enabled by @davesienkowski in #2621
  • fix(#2547): fail closed on crashing and path-shadowing Kimi payloads by @0xdhx in #2595
  • fix(#1883): distinguish a permission/IO error from genuine emptiness in dir scans by @trek-e in #2802
  • fix(#2789): scope the emitted-drift ack to the diff that introduced it by @trek-e in #2803
  • fix(#2624): write the .gsd-source marker before staging reads it by @trek-e in #2811
  • fix(#2810): accept the documented effortSurface axis on EoS registry entries by @trek-e in #2813
  • fix(#2695): deliver the complete four-file codex hook set for every profile by @trek-e in #2822
  • fix(#2697): skip the context-monitor spawn in-process when context_warnings disabled by @trek-e in #2824
  • fix(#2701): reject NUL-corrupted plan/state artifacts at the validator entry points by @trek-e in #2829
  • fix(#2702): workstream config-get inherits absent keys from root config by @trek-e in #2833
  • fix(#2716): route non-user-facing conventional types to an Internal bucket, omit from release notes by @trek-e in #2838
  • fix(#2694): normalize CRLF before frontmatter-boundary match in code-review workflows by @trek-e in #2839
  • fix(#2717): write CommonJS marker for cursor/windsurf/codex staged .js hooks by @trek-e in #2846
  • fix(#2751): normalize bare gsd-tools command-position calls to gsd_run in shipped source by @trek-e in #2851
  • fix(#2854): pin the emitted gate to the base the tree was merged with by @trek-e in #2859
  • fix(#2752): make tool_input.path authoritative over model-controlled file_path in gsd-phase-boundary.sh by @trek-e in #2860
  • fix(#2736): write current_phase_name from the transition intent, not the lossy prose round-trip by @0xdhx in #2821
  • fix(#2754): make parseStateMd CRLF-safe — frontmatter no longer drops on Windows-authored STATE.md by @trek-e in #2865
  • fix(#2764): extend no-path-literal-in-assert to membership/substring checks (catches the #2728 Windows CI shape) by @trek-e in #2879
  • fix(#2770): decision-coverage gate fails closed on empty arg + workflow recomputes CONTEXT_PATH in-block by @trek-e in #2881
  • fix(#2771): advisor mode spawns registered gsd-advisor-researcher subagent instead of general-purpose by @trek-e in #2884
  • fix(#2772): resolve four discuss-phase text inconsistencies (dead MAX_PASSES read, gate-prompts drift, circular auto_advance, answer_validation drift) by @trek-e in #2886
  • fix(#2762): chunked --reviews replans instead of no-op + outline resume marker written to file by @trek-e in #2887
  • fix(#2765): bump brace-expansion to patched 1.1.18/5.0.9 (high-severity devDep advisory) by @trek-e in #2888
  • fix(#2828): state sync reports correct total_phases on a flat unmilestoned roadmap by @trek-e in #2892
  • fix(#2891): normalize emitted version against the measured tree, not the measuring repo by @trek-e in #2894
  • fix(#2666): code-review scopes root-level + extensionless build files, cross-checks against git diff by @trek-e in #2895

New Contributors

Full Changelog: v1.8.0...v1.9.0

Don't miss a new gsd-core release

NewReleases is sending notifications on new releases.