Skip to content

docs(SUP-1694): make v0.1 GBrain-first release-ready#39

Merged
levineam merged 1 commit into
mainfrom
SUP-1694/gbrain-first-v01-release
May 15, 2026
Merged

docs(SUP-1694): make v0.1 GBrain-first release-ready#39
levineam merged 1 commit into
mainfrom
SUP-1694/gbrain-first-v01-release

Conversation

@levineam

@levineam levineam commented May 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Reframes the public v0.1 docs around GBrain as the first-class structured recall brain/router, not a transitional bridge.
  • Updates README, architecture docs, module docs, public baseline, changelog, release notes, and release template to state the GBrain inclusion boundary accurately.
  • Adds a release-readiness guard that fails if public release surfaces regress to GBrain bridge / structured knowledge bridge framing or omit the GBrain-first boundary.

Verification

  • npm test
  • node --test modules/jarvos-gbrain/test/gbrain.test.js
  • node scripts/release-readiness-check.js --allow-unreleased
  • GitHub PR checks: Markdown lint, Link check, Meta hygiene, Smoke test, CI summary all SUCCESS; CodeRabbit status SUCCESS.
  • rg -n "GBrain bridge|Structured knowledge bridge|structured knowledge bridge|curated bridge|weird hybrid|hybrid bridge|future direction" . -g '!node_modules' -g '!package-lock.json' — only the release-readiness guard pattern remains.

Release note

This does not publish or tag v0.1.0. The strict release check still requires replacing Unreleased with a release date at publication time; --allow-unreleased is used for the candidate gate.

Paperclip: SUP-1694; coordinates with SUP-1648.

@coderabbitai

coderabbitai Bot commented May 14, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This PR systematically updates terminology and documentation across the jarvOS repository to establish "GBrain-first resolver/brain integration" as the official framing for the @jarvos/gbrain module, replacing "GBrain bridge" references, and adds a release-readiness check to ensure the terminology remains consistent in future releases.

Changes

GBrain-first terminology and framing update

Layer / File(s) Summary
Release narrative and public scope updates
.github/release-template.md, CHANGELOG.md, docs/releases/v0.1.0.md, PUBLIC_BASELINE.md
Release template, changelog, v0.1.0 release notes, and public baseline documentation updated to establish the GBrain-first resolver/brain integration inclusion in v0.1.0, clarify the scope of public artifacts (integration code and fixtures only), and define known limitations around private GBrain resources.
Architecture, scope and operating pattern documentation
README.md, docs/architecture/jarvos-architecture.md
Main README expanded to clarify jarvOS as a non-runtime system with adapter-agnostic core and updated examples of backing stores; @jarvos/gbrain responsibility reframed as GBrain-first resolver/brain integration, and the "Validated GBrain-first operating pattern" section reformatted into an explicit numbered sequence with expanded step guidance.
Module documentation and descriptions
README.md, modules/README.md, modules/jarvos-gbrain/README.md, modules/jarvos-gbrain/package.json
Module table entries and descriptions rewritten to emphasize "GBrain-first" and "resolver" terminology; @jarvos/gbrain section expanded to detail explicit-allowlist importing, deterministic page generation with provenance preservation, relationship-field conventions, and runtime resolver bundle capabilities (GBrain search plus optional QMD lookup and graph expansion).
Implementation and release validation
modules/jarvos-gbrain/src/index.js, scripts/release-readiness-check.js
Code provenance fallback string in renderBrainPage updated from "bridge" to "integration"; new release-readiness check added to validate that GBrain-first narrative documentation files exist and contain required terminology phrases, and to reject any transitional "bridge" phrasing.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • levineam/jarvOS#17: Same module introduction context where provenance and module framing were first established.
  • levineam/jarvOS#27: Parallel changes to renderBrainPage provenance and relationship field rendering in the same @jarvos/gbrain module.
  • levineam/jarvOS#36: Introduced the release-readiness-check script that this PR extends with new validation rules.

Suggested labels

jarvis-managed

Poem

🐰 A bridge becomes a beacon bright,
From "resolver" words, the terms unite,
Each doc now sings the GBrain-first way,
With validation checks to guard and stay.
Narrative and code align today! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: reframing v0.1 documentation to present GBrain as the primary structured-recall integration rather than a bridge, making it release-ready.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch SUP-1694/gbrain-first-v01-release

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
scripts/release-readiness-check.js (1)

149-163: ⚡ Quick win

Narrow transitional-phrase scanning to avoid historical false failures.

The current check can block releases if CHANGELOG.md references legacy wording in historical context, even when current release framing is correct.

Proposed adjustment
-      const combined = gbrainNarrativeFiles.map((filePath) => readText(filePath)).join('\n');
+      const combined = gbrainNarrativeFiles.map((filePath) => readText(filePath)).join('\n');
+      const bridgeScanFiles = gbrainNarrativeFiles.filter((filePath) => filePath !== 'CHANGELOG.md');
+      const bridgeScanText = bridgeScanFiles.map((filePath) => readText(filePath)).join('\n');
       const requiredPhrases = [
         'GBrain-first',
         '@jarvos/gbrain',
         'resolver',
         'does not implement GBrain',
         'not GBrain itself',
       ];
       const missingPhrases = requiredPhrases.filter((phrase) => !combined.includes(phrase));
-      const transitionalMatches = combined.match(/(?:structured knowledge bridge|GBrain bridge)/gi) || [];
+      const transitionalMatches = bridgeScanText.match(/(?:structured knowledge bridge|GBrain bridge)/gi) || [];
🤖 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 `@scripts/release-readiness-check.js` around lines 149 - 163, The check scans
entire concatenated gbrainNarrativeFiles (combined) and can flag historical
wording; change the logic to restrict phrase checks to only the current release
narrative instead of the whole file corpus: locate the current release section
text (e.g., extract the first/topmost release heading block from combined — the
text between the first release/version header and the next header) and run
requiredPhrases and transitionalMatches against that substring only; update the
variables/methods involved (gbrainNarrativeFiles, combined, requiredPhrases,
transitionalMatches, fail) so the existence checks and fail calls use the
extracted currentReleaseText rather than the full combined content.
🤖 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.

Inline comments:
In `@modules/jarvos-gbrain/README.md`:
- Around line 3-6: Update the README module overview to use the standardized
term "runtime resolver bundle" instead of the mixed "runtime recall-bundle";
specifically edit the sentence that currently reads "provides sync, doctor,
graph recall, runtime recall-bundle, and retrieval-eval helpers" to replace
"runtime recall-bundle" with "runtime resolver bundle" so the document
consistently uses the new terminology.

---

Nitpick comments:
In `@scripts/release-readiness-check.js`:
- Around line 149-163: The check scans entire concatenated gbrainNarrativeFiles
(combined) and can flag historical wording; change the logic to restrict phrase
checks to only the current release narrative instead of the whole file corpus:
locate the current release section text (e.g., extract the first/topmost release
heading block from combined — the text between the first release/version header
and the next header) and run requiredPhrases and transitionalMatches against
that substring only; update the variables/methods involved
(gbrainNarrativeFiles, combined, requiredPhrases, transitionalMatches, fail) so
the existence checks and fail calls use the extracted currentReleaseText rather
than the full combined content.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7f4b20b0-7c26-40d4-82b7-36446af26e81

📥 Commits

Reviewing files that changed from the base of the PR and between 293207e and c4191d4.

📒 Files selected for processing (11)
  • .github/release-template.md
  • CHANGELOG.md
  • PUBLIC_BASELINE.md
  • README.md
  • docs/architecture/jarvos-architecture.md
  • docs/releases/v0.1.0.md
  • modules/README.md
  • modules/jarvos-gbrain/README.md
  • modules/jarvos-gbrain/package.json
  • modules/jarvos-gbrain/src/index.js
  • scripts/release-readiness-check.js

Comment on lines +3 to +6
GBrain-first resolver/brain integration for jarvOS. This module imports a
curated slice of an Obsidian-compatible vault into a local GBrain repo, then
provides sync, doctor, graph recall, runtime recall-bundle, and retrieval-eval
helpers.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Unify bundle terminology in module overview.

Line 5 still says runtime recall-bundle, while the rest of this PR standardizes on runtime resolver bundle. Please align this line to avoid mixed naming in public docs.

🤖 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 `@modules/jarvos-gbrain/README.md` around lines 3 - 6, Update the README module
overview to use the standardized term "runtime resolver bundle" instead of the
mixed "runtime recall-bundle"; specifically edit the sentence that currently
reads "provides sync, doctor, graph recall, runtime recall-bundle, and
retrieval-eval helpers" to replace "runtime recall-bundle" with "runtime
resolver bundle" so the document consistently uses the new terminology.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4191d4af4

ℹ️ 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".

if (missingFiles.length) {
fail('GBrain-first release narrative', `Missing files: ${missingFiles.join(', ')}`);
} else {
const combined = gbrainNarrativeFiles.map((filePath) => readText(filePath)).join('\n');

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Check each release surface separately

Because the GBrain boundary phrases are searched only after concatenating all narrative files, this guard can pass even when a specific release surface drops the boundary. For example, README.md currently supplies does not implement GBrain and not GBrain itself, so docs/releases/v0.1.0.md or PUBLIC_BASELINE.md could omit that limitation entirely and the release check would still report the GBrain-first narrative as passing. If this script is meant to prevent any public release surface from regressing, validate the required boundary phrases per file or per relevant file class instead of against the combined blob.

Useful? React with 👍 / 👎.

@levineam
levineam merged commit 97f2177 into main May 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant