Skip to content

feat(SUP-1498): add graph-friendly gbrain page fields#20

Closed
levineam wants to merge 2 commits into
sup-1496-gbrain-path-resolverfrom
sup-1498-graph-friendly-gbrain-pages
Closed

feat(SUP-1498): add graph-friendly gbrain page fields#20
levineam wants to merge 2 commits into
sup-1496-gbrain-path-resolverfrom
sup-1498-graph-friendly-gbrain-pages

Conversation

@levineam

Copy link
Copy Markdown
Owner

Summary

This is a stacked PR on top of #19 / sup-1496-gbrain-path-resolver for SUP-1498 under the SUP-1425 JarVOS/OpenClaw memory migration goal.

It extends @jarvos/gbrain page generation so curated import manifests can produce GBrain-friendly graph structure directly in generated markdown. Optional graph fields can be supplied directly on a manifest item or under graph / relationships, then rendered into YAML frontmatter and a ## Graph Links wikilink section.

Changes

  • Add graph-aware frontmatter support for aliases, company, companies, founded, key_people, partner, investors, lead, attendees, related, see_also, source, and sources.
  • Add a generated ## Graph Links section for relationship fields so GBrain can extract wikilinks from the page body.
  • Move importer provenance metadata from top-level source: to provenance: to avoid colliding with GBrain's typed source frontmatter field.
  • Update module docs and tests for direct, graph, and relationships manifest shapes.

Validation

  • node --check modules/jarvos-gbrain/src/index.js && node --test modules/jarvos-gbrain/test/*.test.js
  • npm test --prefix modules/jarvos-gbrain
  • node modules/jarvos-gbrain/scripts/jarvos-gbrain.js doctor
  • Temporary generated sample page: gbrain frontmatter validate <sample> --json returned ok: true.
  • Temporary sample extraction with target pages present returned links_created: 3, pages_processed: 4.
  • node tests/modules-smoke-test.js
  • bash scripts/smoke-test.sh
  • npm test
  • git diff --check

Notes

This is intentionally stacked because #19 establishes the path resolver alignment that this work builds on.

@coderabbitai

coderabbitai Bot commented May 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a7c238de-6388-4802-bf7b-ca742d3afc42

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sup-1498-graph-friendly-gbrain-pages

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.

@levineam
levineam marked this pull request as ready for review May 10, 2026 10:35
@levineam
levineam force-pushed the sup-1498-graph-friendly-gbrain-pages branch from 226cf12 to ff91e29 Compare May 10, 2026 12:12

@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: ff91e29f63

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

function graphFieldEntries(item) {
const entries = [];
for (const field of GRAPH_FRONTMATTER_FIELDS) {
const values = asStringList(graphFieldValue(item, field));

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 Preserve numeric founded values

When a manifest records founded as a JSON number, e.g. "founded": 2020, this conversion drops it because asStringList only accepts strings or string arrays. Since founded is a newly documented graph field and years are naturally represented as numbers in JSON, those company pages will be generated without the expected founded frontmatter/graph metadata; either coerce scalar numbers for this field or validate/reject them with a clear warning.

Useful? React with 👍 / 👎.

@levineam
levineam force-pushed the sup-1498-graph-friendly-gbrain-pages branch from ff91e29 to 97081b6 Compare May 10, 2026 12:27
@levineam
levineam deleted the branch sup-1496-gbrain-path-resolver May 10, 2026 14:08
@levineam levineam closed this May 10, 2026
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