Split igord into product and research binaries#23
Conversation
Separate the product CLI (igord) from the research/P2P CLI (igord-lab) so Phase 2 product features can be built on a clean foundation without dragging in libp2p, migration, replay, and pricing dependencies. - igord: product CLI with run/resume/verify/inspect subcommands (0 libp2p deps) - igord-lab: research CLI preserving legacy flag-based P2P interface - internal/runner/research/: subpackage for research-specific runner functions - Makefile: add build-lab target, update run-agent to use igord-lab Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9a72d972e5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| default: | ||
| fmt.Fprintf(os.Stderr, "Unknown command: %s\n\n", os.Args[1]) | ||
| printUsage() |
There was a problem hiding this comment.
Restore legacy flag handling for igord entrypoint
The new switch-only command dispatch makes any legacy flag invocation (for example igord --run-agent ...) hit the unknown-command path and exit, which is a behavior regression from the previous CLI. This now conflicts with in-repo usage I checked (scripts/prepare-release.sh:78 still emits ./bin/igord --run-agent ...), so generated release quick-start instructions are broken unless users manually discover igord-lab; consider adding a compatibility shim or updating all remaining callers in the same change.
Useful? React with 👍 / 👎.
Summary
igord) from research CLI (igord-lab) so Phase 2 product features (HTTP hostcalls, KV store) can be built without dragging in libp2p, migration, replay, and pricing dependenciesigord-labfor continued research useChanges
cmd/igord/main.go— stripped to product subcommands only (run,resume,verify,inspect)cmd/igord-lab/main.go— new binary with legacy P2P/migration/replay/lease codeinternal/runner/research/— new subpackage for research-specific runner functions (VerifyNextTick,HandleDivergenceAction,ExtractSigningKey, lease helpers)internal/runner/runner.go— kept product-safe functions (SafeTick,LoadManifestData, types)Makefile— addedbuild-labtarget, updatedrun-agentto useigord-lab.gitignore— fixed pattern to not ignorecmd/igord/source directoryTest plan
make build— product binary compilesmake build-lab— lab binary compilesmake test— all tests pass (zero failures)go list -deps ./cmd/igord/ | grep -c libp2p)igordCLI shows clean help with only 4 subcommands🤖 Generated with Claude Code