feat(sdk): Phase 3 — decommission bash orchestrator, TypeScript-only CLI#31
Open
Sillhouette wants to merge 1 commit intomainfrom
Open
feat(sdk): Phase 3 — decommission bash orchestrator, TypeScript-only CLI#31Sillhouette wants to merge 1 commit intomainfrom
Sillhouette wants to merge 1 commit intomainfrom
Conversation
Phase 3 of P0-typescript-sdk-migration: eliminate the 2,938-line bash `scripts/genies` orchestrator entirely. The `genies` command is now a direct npm bin entry pointing to compiled TypeScript. Key changes: - Remove scripts/genies bash orchestrator (2,938 lines → deleted) - Remove scripts/genie-session from distribution (legacy cleanup) - Remove all 10 bash test files and test fixtures - Rename genies-core → genies (package.json bin, CLI name, install.sh) - Add new TypeScript modules: artifact threading, slug utility, batch status surface, continuous daemon loop, finisher (head chef), lockfile management, recovery mode, quality validation - Wire all CLI flags to behavioral code (--dry-run, --no-worktree, --no-preflight, --lock, --cleanup-on-failure, per-phase turns) - Add preflight checks before run execution - Add lockfile acquisition for --lock flag - Extend item-resolver with topics scanning and --min-phase floor - Extend single-item executor with artifact path threading between phases, enhanced verdict detection (frontmatter fallback), and min-turn retry on anomalous completions - Add worktree environment setup (auto-detect package manager) - Update install.sh to distribute genies via npm link only Tests: 212 → 373 (161 new vitest tests) Build: TypeScript compiles cleanly Refs: docs/backlog/P0-typescript-sdk-migration.md Co-Authored-By: Crafter <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 3 of P0-typescript-sdk-migration: eliminate the 2,938-line bash orchestrator entirely. The
geniescommand is now a direct npm bin entry pointing to compiled TypeScript — no shell shim, no fallback.scripts/genies(2,938 lines) and all 10 bash test files + fixturesgenies-core→genies(single binary, no intermediary)--dry-run,--no-worktree,--no-preflight,--lock,--cleanup-on-failure, per-phase turn overrides,--min-phase,--finish-modedocs/topics/scanning and--topics-filesupportinstall.shto distributegeniesvianpm linkonly, cleaning up legacy scriptsTests: 212 → 373 (+161 new vitest tests, 0 bash tests remain)
Build: TypeScript compiles cleanly
New CLI subcommands
genies statusgenies qualitygenies recovergenies daemon startgenies daemon stopgenies daemon statusTest plan
npm test— 373 vitest tests passingnpm run build— TypeScript compiles cleanly, no errorsnpm link && genies checkworks end-to-endgenies runexecutes phases without bash fallbackRefs: docs/backlog/P0-typescript-sdk-migration.md
🤖 Generated with Claude Code