Skip to content

feat(hindsight): wire real vectorize-io OCI Helm chart#4913

Merged
AceHack merged 1 commit into
mainfrom
fix/hindsight-real-helm-chart
May 25, 2026
Merged

feat(hindsight): wire real vectorize-io OCI Helm chart#4913
AceHack merged 1 commit into
mainfrom
fix/hindsight-real-helm-chart

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 25, 2026

Summary

Identified Hindsight as vectorize-io/hindsight — agent persistent memory system with built-in Hermes integration. Replaced the placeholder with the real OCI Helm chart.

Per the vectorize-io docs: Hermes ships with 8 external memory provider plugins including Hindsight. Hindsight automatically recalls relevant context before every LLM call, retains conversations across sessions, and provides explicit `retain`/`recall`/`reflect` tools.

Wired config

Field Value
repoURL `ghcr.io/vectorize-io/charts` (OCI)
chart `hindsight`
targetRevision `0.3.0`
postgresql.enabled `true` (bundled, longhorn-backed 20 Gi — swap to CockroachDB later)
api.llm Groq via `hindsight-llm-api-key` Secret (Vault-backed ExternalSecret)
service ClusterIP :80 — matches Hermes' `HINDSIGHT_URL` already wired in #4910
syncPolicy.prune `false` — memory store is precious

Hermes integration

Hermes' `deployment.yaml` already declares:
```yaml

That URL now resolves once both Applications are healthy. No additional wiring needed.

Sources

Test plan

  • markdownlint passes
  • Post-merge: `argocd app sync hindsight` succeeds; `kubectl -n hindsight get pods` shows api + worker + postgres Running
  • Hermes pods can reach hindsight service (`kubectl -n hermes exec ... -- curl http://hindsight.hindsight.svc.cluster.local/health\`)

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Hindsight identified as vectorize-io/hindsight — agent persistent
memory system with built-in Hermes integration. The chart is
published as an OCI image at ghcr.io/vectorize-io/charts/hindsight.

Per https://hindsight.vectorize.io/sdks/integrations/hermes :
Hermes ships with 8 external memory provider plugins including
Hindsight. Hindsight automatically recalls relevant context
before every LLM call + retains conversations + provides
explicit retain/recall/reflect tools.

Application.yaml changes:
  - repoURL: ghcr.io/vectorize-io/charts (OCI)
  - chart: hindsight
  - targetRevision: 0.3.0
  - postgresql.enabled: true (bundled; longhorn-backed 20Gi;
    swap to external CockroachDB once that Application is healthy)
  - api.llm.{provider,existingSecret}: groq + hindsight-llm-api-key
    Secret (Vault-backed via ExternalSecret — no plaintext API
    key in Git)
  - service.{type,port}: ClusterIP / 80
    → Hermes' HINDSIGHT_URL=http://hindsight.hindsight.svc.cluster.local
      already points at this service+namespace
  - syncPolicy.prune: false — memory store is precious

Removed full-ai-cluster/k8s/applications/hindsight/namespace.yaml
— the Helm chart creates the namespace via CreateNamespace=true
sync option, so the standalone placeholder is no longer needed.

README:
  - Tree entry updated: "vectorize-io OCI chart" (was "chart URL TBD")
  - "Component status" section: Hindsight moved from "❓ Awaiting
    maintainer input" to "✅ wired" with chart + values summary

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 25, 2026 06:51
@AceHack AceHack enabled auto-merge (squash) May 25, 2026 06:51
@AceHack AceHack merged commit 11af59d into main May 25, 2026
26 of 27 checks passed
@AceHack AceHack deleted the fix/hindsight-real-helm-chart branch May 25, 2026 06:54
Copy link
Copy Markdown

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

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: 4f04f11d89

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

Comment on lines +53 to +57
# Service for Hermes to reach Hindsight at:
# http://hindsight.hindsight.svc.cluster.local
service:
type: ClusterIP
port: 80
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Map Hindsight API service values to the chart schema

This block is using a top-level service key and assumes Hermes can call http://hindsight.hindsight.svc.cluster.local, but the v0.3.0 chart reads API networking from api.service.* and renders the API Service as <fullname>-api (templates/api-service.yaml / _helpers.tpl). As written, this override is ignored and the generated endpoint remains the chart default (...-api on API port defaults), so Hermes traffic will be sent to a non-existent/wrong Service.

Useful? React with 👍 / 👎.

Comment on lines +38 to +42
llm:
provider: groq # change per maintainer preference
existingSecret:
name: hindsight-llm-api-key
key: api-key
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Use supported keys for LLM provider secret injection

The chart does not consume api.llm.provider or api.llm.existingSecret; in v0.3.0 it expects LLM config via api.env and either top-level existingSecret or api.secrets (templates/api-deployment.yaml/secret.yaml). With these unsupported keys, no HINDSIGHT_API_LLM_* env vars are populated, so retain/reflect operations that require an LLM provider key will fail at runtime.

Useful? React with 👍 / 👎.

@AceHack AceHack review requested due to automatic review settings May 25, 2026 07:14
AceHack added a commit that referenced this pull request May 25, 2026
…trate-stale-superseded empirical anchor (#4914)

* shard(2026-05-25/1009Z): cold-boot — sentinel-fired-AGAIN + lior-substrate-stale-superseded empirical anchor

Second 2026-05-25 fresh-session in this lane (after PR #4911 0613Z anchor).
Substantively new observations:

- Sentinel empty at cold-boot AGAIN (catch-43 fired AGAIN, ~4h after PR #4911
  also re-armed at 0613Z); pattern: per-session non-persistence is the dominant
  mechanism, NOT 3-day auto-expire
- 0 stuck git procs sustained ~30h since 2026-05-24 0407Z first-0-procs reading;
  dotgit-recovered remains stable
- Cold-boot landed on peer Lior's `lior-pr-preservation-rebased` (7th+ occurrence
  of "lands on whoever-was-last-active's branch" failure mode)
- NEW anchor: Lior's branch stages 70 `full-ai-cluster/*` files that ALREADY
  landed on origin/main via PRs #4910/#4912/#4913 — substrate-drift class
  observation; pr-triage-tiers.md Tier 1 disposition applies if Lior's branch
  ever pushed as PR

Disposition: shard via isolated worktree on origin/main (lane-discipline preserved
Lior's branch); did NOT touch Lior's WIP.

Composes with the multi-anchor saturation-recovery series + the substrate-drift
class documented in pr-triage-tiers.md + the catch-43 reliability of the
autonomous-loop discipline.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(shard): correct relative-path depth (4→6) + MD038 code-span trailing-space

- 7 tick-shard relative-paths used `../../../../` (4 levels) but tick shards
  at `docs/hygiene-history/ticks/YYYY/MM/DD/` are 6 levels deep; fixed to
  `../../../../../../` to match the canonical pattern
- MD038 markdownlint: `A ` code span had trailing space inside backticks;
  reworded to `\`A\` + space` to preserve the semantic (git status 2-char
  code: first char `A`, second char space = staged-added with working tree
  matching index) without violating MD038

Both lint failures verified clean locally via markdownlint-cli2.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(shard): prepend 6-column pipe-row schema header + correct 105→70 staged count

Addresses 2 real reviewer findings on PR #4914:

1. P0 Copilot — schema violation: first non-empty line was H1, but per
   docs/hygiene-history/ticks/README.md the validator at
   tools/hygiene/check-tick-history-shard-schema.ts requires a 6-column
   pipe-row first. Prepended the canonical pipe-row carrying ISO timestamp,
   model id, cron sentinel, body summary, PR ref, and observation. H1 body
   preserved below (hybrid format per B-0529 Recommendation Option 3).

2. P2 Codex + Copilot — arithmetic discrepancy: shard reported "105 staged
   full-ai-cluster/* additions" but the verification table later reported
   70 staged. Re-counted via `git status --short | awk | sort | uniq -c`:
   70 staged-A (all full-ai-cluster/*) + 35 untracked-?? (other Lior WIP) +
   8 modified-M (7 PR-disc + 1 settings.json) = 113 total. The 105 was an
   arithmetic error (113 - 8). Corrected to substrate-honest breakdown.

Both fixes verified locally:
- Schema validator: shard passes (453 pre-existing violations in other
  shards — not introduced by this PR)
- markdownlint: clean

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(shard): split provenance commands per table metric

Addresses P2 Codex finding on PR #4914: prior shard text claimed both table
rows were verified via `git ls-tree -r origin/main full-ai-cluster/`, but
that command only counts files on origin/main (first row). The second row
(staged on Lior's branch) requires a different command (`git status --short
| grep "full-ai-cluster" | wc -l` run against the contested root checkout
still on lior-pr-preservation-rebased).

Replaced single-command claim with a per-row verification column that names
the actual command used for each metric. Both verified counts already
landed correctly (70 each); only the provenance attribution was off.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Lior <lior@zeta.dev>
Co-authored-by: Claude <noreply@anthropic.com>
AceHack pushed a commit that referenced this pull request May 25, 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