feat(SUP-3240): harden secondbrain capture determinism - #87
Conversation
📝 WalkthroughWalkthroughjarvOS v0.6.2 adds a first-class Hermes session source adapter, introduces a ChangesjarvOS v0.6.2 — Coding-Tool Capture Determinism
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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: 57a0b3d2cf
ℹ️ 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".
| For these requests, the coding tool must call the shared jarvOS entrypoint: | ||
|
|
||
| ```bash | ||
| node modules/jarvos-secondbrain/scripts/jarvos-capture.js |
There was a problem hiding this comment.
Provide CaptureEvent input in the capture command
When a coding runtime follows this new contract literally, the documented node modules/jarvos-secondbrain/scripts/jarvos-capture.js invocation has no JSON on stdin even though jarvos-capture.js reads the CaptureEvent from stdin. In non-interactive execution this exits with validation errors like missing text/content, and in an interactive shell it can just wait for input, so intentional captures will not write the note or journal entry; the canonical contract should show the piped JSON/input shape here since the runtime docs/templates repeat this bare command.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/release-process.md (1)
10-11: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueMinor grammar improvement: use hyphen for compound adjective.
"v0.6.0 focused release" should be "v0.6.0-focused release" to correctly connect the version modifier to the noun.
✏️ Proposed fix
- `v0.6.x` is the current secondbrain hardening lane after the v0.6.0 focused - release and v0.6.1 capitalization patch. + `v0.6.x` is the current secondbrain hardening lane after the v0.6.0-focused + release and v0.6.1 capitalization patch.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/release-process.md` around lines 10 - 11, In the release-process.md file, fix the compound adjective grammar by adding a hyphen between the version number and the adjective. Change "v0.6.0 focused release" to "v0.6.0-focused release" to properly connect the version modifier to the noun it describes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@docs/release-process.md`:
- Around line 10-11: In the release-process.md file, fix the compound adjective
grammar by adding a hyphen between the version number and the adjective. Change
"v0.6.0 focused release" to "v0.6.0-focused release" to properly connect the
version modifier to the noun it describes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ac101687-71fb-40da-a609-5303845c87e6
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (25)
CHANGELOG.mddocs/release-process.mddocs/releases/v0.6.2.mdmodules/jarvos-secondbrain/README.mdmodules/jarvos-secondbrain/adapters/hermes/index.jsmodules/jarvos-secondbrain/adapters/index.jsmodules/jarvos-secondbrain/adapters/session-source/session-source-adapter.jsmodules/jarvos-secondbrain/bridge/capture/README.mdmodules/jarvos-secondbrain/bridge/provenance/README.mdmodules/jarvos-secondbrain/bridge/routing/README.mdmodules/jarvos-secondbrain/docs/architecture/automatic-secondbrain-public-boundary.mdmodules/jarvos-secondbrain/docs/contracts/CODING_TOOL_DETERMINISM.mdmodules/jarvos-secondbrain/docs/contracts/SESSION_SOURCE_ADAPTERS.mdmodules/jarvos-secondbrain/packages/jarvos-ambient/src/intent/capture-contract.jsmodules/jarvos-secondbrain/packages/jarvos-ambient/test/intent-exports.test.jsmodules/jarvos-secondbrain/packages/jarvos-secondbrain-notes/README.mdmodules/jarvos-secondbrain/tests/coding-tool-determinism-docs.test.jsmodules/jarvos-secondbrain/tests/session-source-adapters.test.jsmodules/jarvos-secondbrain/tests/universal-capture.test.jspackage.jsonruntimes/claude/README.mdruntimes/claude/templates/CLAUDE.md.templateruntimes/codex/README.mdruntimes/hermes/skills/jarvos/SKILL.mdruntimes/openclaw/README.md
Summary
This PR hardens the jarvOS secondbrain capture lane around AI coding tools only: OpenClaw, Codex, Claude Code, Hermes, and future coding adapters. It removes general chat apps from the active CaptureEvent source enum/current-target docs, adds a first-class Hermes session adapter, and documents OpenClaw-derived deterministic behavior as a jarvOS-owned public contract.
What Changed
CODING_TOOL_SOURCE_TOOLSfor the active deterministic capture source list.createHermesSessionAdapter()and session-source coverage.docs/contracts/CODING_TOOL_DETERMINISM.md.Review Process Evidence
No mandatory human review is required by policy for this change. The sufficient review process here is: branch diff sanity, targeted behavior tests, full secondbrain package tests, release candidate check, release drift check, and scoped wording/capitalization scans.
Verification
node --test modules/jarvos-secondbrain/tests/coding-tool-determinism-docs.test.js modules/jarvos-secondbrain/tests/session-source-adapters.test.js modules/jarvos-secondbrain/tests/universal-capture.test.js-> 14/14 passingnode --test modules/jarvos-secondbrain/packages/jarvos-ambient/test/intent-exports.test.js-> 16/16 passingcd modules/jarvos-secondbrain && npm test-> 171/171 passingnpm run release:check:candidate-> READY v0.6.2npm run release:drift-> OK (prep)Scope Notes
jarvos-capture.Refs SUP-3240.
Summary by CodeRabbit
New Features
Documentation
Tests
Chores