Tom Boucher
4fbb61c915
fix( #372 ): harden bug-3668 resolver test for Windows/CI (non-login shell + CRLF) ( #374 )
...
* fix(#372 ): use non-login shell in bug-3668 resolver test for hermetic PATH
bash -lc re-sourced profile files (e.g. Homebrew shellenv) that prepended
real bin dirs ahead of the test's injected PATH, so the installed-gsd-tools
fallback subtest resolved a host-global gsd-tools instead of the injected
fake — failing on dev machines and CI-adjacent benches while passing on
clean CI. Use bash -c (non-login) so the injected PATH is authoritative.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
* fix(#372 ): split workflow snippet on CRLF in bug-3668 resolver test
extractResolverSnippet split on '\n' and exact-matched the closing \`fi\`
line, so on a Windows checkout (CRLF) the line was \`fi\r\`, the end marker
was never found, and the test failed with "SDK resolution snippet must end
with fi". Split on /\r?\n/ so extraction works on LF and CRLF checkouts and
the snippet handed to bash is carriage-return-free.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
* fix(#372 ): assert resolver bin by normalized suffix, not exact OS path
On Windows the snippet runs under Git bash, so GSD_TOOLS is reported POSIX-
style / mixed-separator while the test built its expected regex from Node
path.join (backslashes) — the resolver was correct (installed:/runtime: output
proves the right bin ran) but the exact-path assertions failed. Normalize
separators and assert the GSD_TOOLS path suffix, keeping the behavioral
installed:/runtime: assertions as the primary checks.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 22:33:49 -04:00
Tom Boucher
9dd2c87c6c
ci: supersede #367 with combined tiered PR pipeline redesign ( #369 )
...
* ci: streamline PR pipeline gates
* test: annotate ci-test-scope stderr assertions for lint rule
---------
Co-authored-by: Colin <colin@solvely.net >
2026-05-26 19:11:58 -04:00
Colin Johnson
aaa19b0609
fix: resolve installed gsd-tools in workflows ( #354 )
...
* fix: resolve installed gsd-tools in workflows
* chore: add changeset
2026-05-26 18:56:21 -04:00
Colin Johnson
47bba87d90
fix: restore sdk query families in gsd-tools ( #353 )
...
* fix: restore sdk query families in gsd-tools
* chore: add changeset
* docs: sync query router inventory
2026-05-26 18:56:00 -04:00
Colin Johnson
7a3822fce1
fix: replace removed gsd-sdk prompt references ( #355 )
...
* fix: replace removed gsd-sdk prompt references
* chore: add changeset
2026-05-26 18:55:40 -04:00
Colin Johnson
ed149ff283
fix: accept json input for state patch ( #356 )
...
* fix: accept json input for state patch
* chore: add changeset
2026-05-26 18:55:20 -04:00
Tom Boucher
1b16c60df9
ci( #365 ): run affected tests for pull request CI lanes ( #366 )
2026-05-26 18:54:27 -04:00
Tom Boucher
660670ef57
fix( #343 ): remove legacy security contacts and org references ( #351 )
2026-05-26 17:03:49 -04:00
Tom Boucher
bd8b9eaf9d
fix( #344 ): harden windows test assertions and pin windows-2025 labels ( #349 )
2026-05-26 16:14:15 -04:00
Tom Boucher
de08c8cd60
feat( #301 ): remove retired sdk command-contract drift ( #302 )
2026-05-26 12:25:52 -04:00
Tom Boucher
aec61416d8
refactor( #299 ): deepen active workstream resolution context ( #300 )
2026-05-26 12:25:32 -04:00
Tom Boucher
1f2ef131c5
fix( #322 ): normalize surface manifest inputs before profile resolution ( #325 )
2026-05-26 12:22:08 -04:00
Tom Boucher
e5a5a75938
fix( #321 ): replace JSON config default clone with structuredClone ( #324 )
2026-05-26 12:22:02 -04:00
Tom Boucher
e4f29feabc
refactor: remove stale SDK router shim wrappers ( #298 )
...
* refactor(#297 ): remove stale sdk router shim wrappers
* test: remove sdk-era refusal wording fixtures
2026-05-26 12:21:04 -04:00
Tom Boucher
e905ca1c32
feat( #293 ): stabilize workstream inventory ordering ( #294 )
2026-05-26 12:20:40 -04:00
Tom Boucher
e08fea7ef2
fix( #280 ): anchor execute-phase subagent reads to project root ( #286 )
2026-05-26 12:09:26 -04:00
Tom Boucher
c66705d6ba
fix( #279 ): document Agent mapping and deferred tool discovery ( #285 )
2026-05-26 12:08:53 -04:00
Tom Boucher
90ea3a3297
fix( #278 ): detect codex .toml agent role files ( #284 )
2026-05-26 12:08:18 -04:00
Tom Boucher
ce945ef753
fix( #275 ): accept top-level decision gate result fields ( #283 )
2026-05-26 12:07:40 -04:00
Tom Boucher
afba2afbe7
fix( #229 ): normalize gsd-hook-version substitution in verify-reapply ( #282 )
2026-05-26 12:06:57 -04:00
Tom Boucher
6a94bb6afb
refactor( #287 ): deepen active workstream pointer store seam ( #288 )
2026-05-26 11:57:39 -04:00
Tom Boucher
f76a53e055
feat( #291 ): deepen workstream name policy seam ( #292 )
2026-05-26 11:24:12 -04:00
Tom Boucher
a361da689b
feat( #295 ): deepen runtime name policy seam ( #296 )
2026-05-26 11:24:01 -04:00
Tom Boucher
43eafea3d5
fix( #303 ): deepen command routing seams and alias parity guard ( #304 )
2026-05-26 11:23:53 -04:00
Tom Boucher
06cf7826e3
test: deepen fixture module v2 for reliability ( #329 )
...
* test: deepen fixture seam for init/state/workstream suites
* test: deepen fixture module v2 with declarative builders
2026-05-26 11:23:42 -04:00
Tom Boucher
656bff8b73
test: add process-state isolation helper for reliability ( #331 )
2026-05-26 11:23:35 -04:00
Tom Boucher
0a43185510
test: add typed failure classification module ( #333 )
2026-05-26 11:23:29 -04:00
Tom Boucher
8ad0c0d546
test: add cross-platform test run module ( #335 )
2026-05-26 11:23:23 -04:00
Tom Boucher
fd7c82149c
test: add generator freshness contract module ( #337 )
2026-05-26 11:23:16 -04:00
Colin Johnson
80d971d01e
Merge pull request #265 from open-gsd/issue/261-bug-worktree-executor-force-adds-gitigno-1779717159
...
fix(issue): bug: worktree executor force-adds gitignored .planning/SUMMARY.md into worktree branch (regression of the skipped_gitignored SDK contract)
2026-05-25 13:13:28 -04:00
Tom Boucher
6ba6e630c7
test( #192 ): stabilize graphify auto-update matcher assertions
2026-05-25 11:41:03 -04:00
Tom Boucher
a77883e131
fix( #192 ): retire sdk assumptions in lint and regression tests
2026-05-25 11:28:17 -04:00
Tom Boucher
36a237573c
chore( #192 ): retire sdk release pipeline seam
2026-05-25 11:20:43 -04:00
Tom Boucher
11918dcc37
chore( #191 ): retire sdk package seam
2026-05-25 10:58:36 -04:00
Tom Boucher
4fa13cf9de
refactor( #190 ): collapse SDK sync bridge and remove synckit seam
2026-05-25 10:30:34 -04:00
Colin
3002bd73e0
fix: respect git add option terminator
2026-05-25 10:19:54 -04:00
Colin
643efb1d76
fix: honor workflow guard opt-in for Bash blocks
2026-05-25 10:07:40 -04:00
Colin
69cc2f9fe2
fix(issue): bug: worktree executor force-adds gitignored .planning/SUMMARY.md into worktree branch (regression of the skipped_gitignored SDK contract)
2026-05-25 09:58:58 -04:00
Tom Boucher
30c572e537
refactor( #189 ): retire generated cjs artifacts from bin/lib
2026-05-25 09:54:50 -04:00
Tom Boucher
4c92aacca5
build( #188 ): retire sdk generator and freshness scripts
2026-05-25 09:41:37 -04:00
Tom Boucher
5d8a8c4d46
chore( #187 ): delete parity test suite
2026-05-25 09:24:37 -04:00
Tom Boucher
7d54416cc3
fix(ci): keep current-timestamp on CJS path to avoid Windows bridge crash
2026-05-24 22:45:46 -04:00
Tom Boucher
5e0d804d8f
fix( #184 ): preserve query init compatibility while migrating handlers
2026-05-24 22:03:54 -04:00
Tom Boucher
c46dfc4a7f
refactor( #182 ): migrate project-root module to runtime path
2026-05-24 21:38:49 -04:00
Tom Boucher
22e9c1de62
refactor( #181 ): migrate workstream inventory builder to sdk/src/workstream ( #250 )
2026-05-24 21:32:53 -04:00
Tom Boucher
59bcdf03b6
refactor( #180 ): migrate STATE.md Document Module to sdk/src/state ( #249 )
...
* refactor(#180 ): migrate state document module to sdk/src/state
* test(#180 ): ratchet lint allowlists for state module relocation
2026-05-24 21:06:50 -04:00
Tom Boucher
9aae41f22d
refactor( #179 ): migrate Configuration Module to sdk/src/config ( #244 )
...
* refactor(#179 ): migrate configuration module to sdk/src/config
* chore(#179 ): add changeset for config module path migration
2026-05-24 20:49:35 -04:00
Tom Boucher
b2a8411e4d
fix( #17 ): cap AskUserQuestion options at 4 across workflows ( #243 )
...
* fix(#17 ): enforce AskUserQuestion 4-option cap across workflows
* chore(changeset): add fixed entry for #17
2026-05-24 20:26:53 -04:00
Tom Boucher
81a4d1c091
fix( #16 ): renumber canonical phases above 999 on remove ( #241 )
2026-05-24 20:02:44 -04:00
Tom Boucher
a512bd79d7
fix( #222 ): enforce research synthesizer write-only summary contract ( #240 )
2026-05-24 19:19:50 -04:00