Restructure CLI internals, simplify memory, and harden releases - #184
Conversation
There was a problem hiding this comment.
Sorry @yourconscience, your pull request is larger than the review limit of 150,000 diff characters
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9d7ce13aca
ℹ️ 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".
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
What this does
Five cleanups in one branch, all behavior-preserving for the CLI surface.
1. Root artifacts
SPEC.md(completed internal implementation spec, no code/workflow references)..agnix.toml(auto-discovered bydotagents doctorin the canonical root) andstarter_assets.go(root-levelgo:embedmanifest; embed cannot reach parent dirs).starter_assets.gonow documents why it must stay at the root.2. Memory layer
amp_digest.py,factory_digest.py,hermes_digest.py). Provider payload normalization now lives inmemory/lib/basic_memory.py, so digest rendering, redaction, replay detection, and locking exist once.basic_memory.py dream).rem dreamis the only supported consolidation workflow.memsearch.conf: values are POSIX-quoted and covered by a test that sources the file through/bin/sh.memory/hooks/omp-memory.tsandmemory/hooks/README-codex-omp.md.memory/tools(rem, knowledge-sync) is now embedded, sosetupon a release install actually carries the tool sources; a test scaffolds into a temp root and builds both binaries through the real installer path.3. Command architecture
cmd/dotagentsis now a thin entrypoint (main.goonly). Implementation, tests, and web assets moved tointernal/appwithgit mv-style renames preserved.internal/agentrolebehind aRendererregistry.pi_agent.go,omp_agent.go, and the role code insideopencode.go/qwen.goare gone.go.work.4. Docs
docs/harnesskit-integration.md,docs/openai-skill-registry-publish.md, and the orphaneddocs/status-preview.{html,png}.brew / npm / curl / go) and added a Documentation section linking eachdocs/*.md.5. Release
scripts/release.shis fail-fast (set -eu), validates strictvMAJOR.MINOR.PATCH, refuses dirty/staged/unmerged/untracked state, requiresHEAD == origin/mainand a newer version than the latest tag, runs the full check set, and only prints success after a successful push. Fixed the npm package name in the post-release hint.scripts/release_test.sh(tag validation, version ordering, clean-tree detection), wired into CI and into the release script itself..github/workflows/release.ymlgained averifyjob (strict semver, tag commit must be onmain, requires a greenci.ymlrun for that exact commit) and thereleaseenvironment gate; actions are pinned to commit SHAs and GoReleaser to an exact version.Verification
go test ./...,go build ./cmd/dotagents,go vet ./...(withGOWORK=off, since the parent checkout's stalego.workshadows this worktree locally)python3 -m unittest discover -s memory/tests— 24 testsnode --test npm/install.test.jssh scripts/release_test.shorigin/mainvs this branch are identical, file-for-filev0.9.0, then correctly refused a duplicate tag, an older version, a dirty tree, and untracked filesRelease notes for v0.9.0 (not cut yet)
Since
v0.8.0: canonical config TUI/web UI, Amp and Pi/OMP harness support,dotagents publish, AgentsView sessions integration, native hook review/cleanup, and this cleanup. Minor bump; no breaking changes found.Gate before tagging:
releaseenvironment exists with required reviewers, and moveHOMEBREW_TAP_TOKENto that environment.scripts/release.sh v0.9.0on a clean, up-to-datemain.Two orphan draft releases named
v0.8.0(IDs 386064068, 386172756) are leftovers from failed tag runs; deleting them needs your approval and is not done here.Review follow-up (bot threads)
Three valid findings from the Codex connector review, all fixed:
go.workremoval leftAGENTS.mdclaiming the module layout is declared bygo.modandgo.work— instruction updated, and it now notes thatsetupscaffolds a standalonego.modbeside each copied tool.Also fixed the
build-and-lintfailure this branch surfaced: the memory tools are now part of the root module, so lint finally covers them and found pre-existing unchecked errors inmemory/tools/rem/dream_test.go.