Skip to content

feat: 4-tab code parity across all documentation examples#613

Merged
nicoloboschi merged 6 commits intomainfrom
feature/code-snippet-parity
Mar 19, 2026
Merged

feat: 4-tab code parity across all documentation examples#613
nicoloboschi merged 6 commits intomainfrom
feature/code-snippet-parity

Conversation

@nicoloboschi
Copy link
Collaborator

Summary

  • Every code snippet Tabs block in the docs now has all 4 variants: Python, Node.js, CLI, Go
  • Raw HTTP/curl tabs replaced with proper SDK calls throughout
  • Build fails if any Tabs block is missing a language variant (scripts/check-code-parity.mjs)

New example files

Go SDK: retain.go, recall.go, reflect.go, memory-banks.go, directives.go, mental-models.go, documents.go, main-methods.go

Shell/Node.js: memory-banks.sh, directives.sh, mental-models.sh, mental-models.mjs

SDK & CLI additions

  • TypeScript: getMentalModelHistory method added to HindsightClient
  • CLI recall: --tags, --tags-match flags
  • CLI reflect: --tags, --tags-match, --include-facts flags
  • CLI directive update: --is-active flag
  • CLI bank set-config: --retain-mission, --retain-extraction-mode, --observations-mission, --reflect-mission, --disposition-skepticism/literalism/empathy flags

Build validation

hindsight-docs/scripts/check-code-parity.mjs checks every MDX <Tabs> block that contains a language tab (python, node, cli, go) and fails the build if any of the 4 variants is missing. Integrated into npm run build.

Test plan

  • cd hindsight-cli && cargo build passes
  • cd hindsight-cli && cargo test all 76 tests pass
  • cd hindsight-docs && npm run build passes (includes parity check)
  • CI doc-examples checks pass

- Add per-integration changelog pages at /changelog/integrations/<name>
- Move main changelog to changelog/index.md (URL unchanged)
- Add --integration flag to generate-changelog for LLM-based per-integration changelog generation
- Add scripts/release-integration.sh <name> <version> for cutting integration releases
- Add .github/workflows/release-integration.yml to publish on integrations/** tags
- Remove integrations from main release.sh and release.yml cycle
Every code snippet Tabs block now has Python, Node.js, CLI, and Go variants.
Raw HTTP/curl tabs replaced with proper SDK calls.

New example files:
- Go: retain.go, recall.go, reflect.go, memory-banks.go, directives.go,
  mental-models.go, documents.go, main-methods.go
- Shell: memory-banks.sh, directives.sh, mental-models.sh
- Node.js: mental-models.mjs

Extended example files with missing sections:
- recall.mjs/sh: world/experience/observation types, token-budget, all tag modes
- reflect.sh: reflect-with-params, reflect-disposition, reflect-sources, reflect-with-tags
- reflect.mjs: reflect-with-tags, fixed reflect-sources API usage
- retain.mjs/sh: retain-conversation, retain-batch, retain-files-batch

SDK/CLI additions:
- TypeScript: getMentalModelHistory method
- CLI recall: --tags, --tags-match flags
- CLI reflect: --tags, --tags-match, --include-facts flags
- CLI directive update: --is-active flag
- CLI bank set-config: --retain-mission, --retain-extraction-mode,
  --observations-mission, --reflect-mission, --disposition-* flags

Build validation:
- scripts/check-code-parity.mjs validates 4-tab parity across all MDX files
- Integrated into npm run build — fails if any Tabs block is missing a variant
… examples

- Fix Go Budget constants: BUDGET_HIGH/LOW/MID → HIGH/LOW/MID
- Fix Go documents.go: ListDocuments returns []map[string]interface{}, use map access
- Fix Go retain.go: use correct relative path for sample.pdf
- Fix Node.js createMentalModel: use positional args (name, sourceQuery) not object
- Add CLI 'history' subcommand for mental models (api.rs, main.rs, mental_model.rs)
- Rebuild TypeScript/Python clients to support id param in createMentalModel
- Add create-mental-model-with-id examples across all 4 languages and docs
@nicoloboschi nicoloboschi merged commit a56cd04 into main Mar 19, 2026
39 of 40 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