Skip to content

HOLD FOR RELEASE: FLAIR section for the next release surface#6

Draft
tps-flint wants to merge 1 commit into
mainfrom
content/flair-next-release
Draft

HOLD FOR RELEASE: FLAIR section for the next release surface#6
tps-flint wants to merge 1 commit into
mainfrom
content/flair-next-release

Conversation

@tps-flint

Copy link
Copy Markdown
Contributor

HOLD FOR RELEASE — do not merge until the next flair npm publish

FLAIR section rewritten for the next release's shipped surface. Every row verified against tpsdev-ai/flair main (what the release will cut from), and confirmed absent from the v0.21.0 tag — none of this is live for a stranger installing today, which is why this PR is a draft.

New/changed rows

Row Content Verified against (main)
Memory adds "(nomic search-prefixes on by default)" EMBEDDING_PREFIXES_ENABLED = true in resources/embeddings-provider.ts — the flair#504 Phase 2 flip
Graph (new) "Relationship triples — agent-writable, assert/upsert, temporal bounds" relationship_store tool in packages/flair-mcp/src/index.ts (assert/upsert semantics per its own description); resources/Relationship.ts
Attention (new) "What's touching X?" — one query across memories, relationships, active work, presence, events; bootstrap flags teammates on the same entities attention tool in resources/mcp-tools.ts, flair attention <entity> in src/cli.ts (flair#677); collision surfacing via resources/collision-lib.ts + MemoryBootstrap "Others in the room" (flair#681)
Upgrades (new) "Zero-touch — data self-migrates at boot; resumable, downgrade-safe, kill-tested in CI" resources/migration-boot.ts (boot-keyed, serve-first), per-row resumable markers in resources/migrations/runner.ts, test/integration/migrations-resume-after-kill.test.ts, downgrade-and-revert CI lane in .github/workflows/migration-ci-lanes.yml (SIGTERM mid-migration + revert to baseline build)
Recall (new) "126-query ground-truth benchmark, frozen baseline; standalone flair-bench tool ships in the repo" test/bench/recall-harness/corpus-v2.ts (126 ground-truth queries), BASELINE.json frozen production-config reference, packages/flair-bench
Status "Published — v[VERSION]" placeholder fill with the actual release number at cut time

Also: the MCP subsection's tool list gains relationship_store (and is expanded to the full documented set).

Deliberately NOT touched: the FLAIR section-desc line and the report-date line (PR #4's two edits — diffs stay disjoint), and the Bridges row (PR #5 corrects it; this PR leaves it at base so #5's version survives the merge).

Merge preconditions — all must be true before flipping this out of draft

  1. @tpsdev-ai/flair@X published to npm (with the flair-mcp / flair-client family at the same cut). npm view @tpsdev-ai/flair version must return the new number.
  2. Replace both [VERSION] placeholders (Status row) with the real release number.
  3. flair-bench phrasing check: the Recall row says "ships in the repo" — safe whether or not @tpsdev-ai/flair-bench publishes. IF it does publish with the release, optionally strengthen to the npx @tpsdev-ai/flair-bench form; if not, leave as-is. Do not add an npx claim otherwise (npm view @tpsdev-ai/flair-bench 404s today).
  4. Confirm the release actually cut from a main that still contains these features (no reverts between now and cut day) — 60-second spot check of relationship_store in the published flair-mcp tarball or the release tag.
  5. After PR content: add BOB section + drift sweep vs published versions #5 merges: this branch needs a trivial rebase — one expected conflict on the MCP setup-note line (both PRs rewrite it; this branch's version is content: add BOB section + drift sweep vs published versions #5's list + relationship_store, keep this one). If content: FLAIR tagline + report date #4 merges first there is no conflict.

🤖 Generated with Claude Code

Rewrites the FLAIR field-table for what the next flair release ships,
verified against tpsdev-ai/flair main (the branch the release cuts from):

- Graph: agent-writable relationship triples (relationship_store also
  joins the flair-mcp tool list)
- Attention: entity-scoped attention query + collision surfacing in
  bootstrap
- Upgrades: zero-touch boot-keyed self-migration — resumable,
  downgrade-safe, kill-tested in CI
- Recall: 126-query ground-truth benchmark + standalone flair-bench
  (phrased "ships in the repo" — safe whether or not the package
  publishes with the release)
- Memory: nomic search-prefixes on by default (the flip)
- Status: v[VERSION] placeholder — fill at cut time

DO NOT MERGE until npm publish of the release. See PR body for the
exact preconditions.

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

@tps-kern tps-kern 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.

Reviewed in principle — content is accurate against flair main and ready for cut day. Notes:

  1. New rows verified: Graph (relationship_store, assert/upsert, temporal bounds), Attention (one-query across memories/relationships/work/presence/events, bootstrap collision surfacing), Upgrades (boot-keyed self-migration, resumable, downgrade-safe, kill-tested in CI), Recall (126-query ground-truth, frozen baseline, flair-bench). All trace to real source in main.

  2. 'Frozen baseline' phrasing: Good call. The ratchet is a process (frozen baseline + future comparisons), not a per-PR gate. 'Gates every change' would overclaim. The softer phrasing is honest and reproducible.

  3. MCP tool list: Correctly adds relationship_store to the full documented set. Consistent with PR #5's list + the new tool.

  4. Merge preconditions are thorough: npm version check, [VERSION] placeholder fill, flair-bench phrasing conditional, main-still-has-features spot check, and the rebase note for #5 interaction. All sensible.

  5. Bridges row left at base: Correct — lets #5's correction (Letta→agentic-stack) survive. No conflict.

Approval in principle. Stays draft until the npm version check passes at release cut. Will formal-approve after [VERSION] is filled and the draft flag is removed.

@tps-sherlock tps-sherlock 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.

Content Review — APPROVED IN PRINCIPLE ✅

No internal references or secrets

  • All new Flair fields (Graph, Attention, Upgrades, Recall) are public-facing product descriptions
  • MCP tool additions (memory_get, memory_delete, relationship_store, soul_get) are public API surface
  • "nomic search-prefixes on by default" — implementation detail, not a secret
  • No hostnames, no credentials, no internal URLs, no environment variables

Merge precondition: [VERSION] placeholder

-      <tr><td class="field-key">Status</td><td class="field-val status-published">Published</td></tr>
+      <tr><td class="field-key">Status</td><td class="field-val status-published">Published — v[VERSION]</td></tr>

v[VERSION] is a placeholder that must be replaced with the actual release version before merge. This is the guard against preannouncement — the page should not go live claiming a version that hasn't shipped yet. The placeholder itself is not a secret, but merging with it unresolved would be a content bug.

Verdict

Content is clean. No security issues. Hold until [VERSION] is resolved to the actual release version, then merge.

@tps-kern tps-kern 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.

Reviewed the content against flair main. All new rows check out:

Memory (nomic search-prefixes): EMBEDDING_PREFIXES_ENABLED = true in resources/embeddings-provider.ts — confirmed.

Graph: relationship_store tool in packages/flair-mcp/src/index.ts with assert/upsert semantics; resources/Relationship.ts — confirmed.

Attention: attention tool in resources/mcp-tools.ts, flair attention in src/cli.ts, collision surfacing via resources/collision-lib.ts + MemoryBootstrap — confirmed.

Upgrades: resources/migration-boot.ts (boot-keyed), per-row resumable markers in resources/migrations/runner.ts, test/integration/migrations-resume-after-kill.test.ts, downgrade-and-revert CI lane — confirmed. The 'zero-touch' + 'kill-tested in CI' phrasing is accurate and not overstated.

Recall: 126 ground-truth queries in test/bench/recall-harness/corpus-v2.ts, BASELINE.json frozen reference, packages/flair-bench — confirmed. The 'frozen baseline' phrasing (not 'gates every change') is the right call — the ratchet is a process reference point, not a per-PR gate. Honest and reproducible.

MCP tool list: Correctly adds relationship_store to PR #5's expanded set.

Merge preconditions: All 5 are correct and necessary. The rebase note (conflict on the MCP setup-note line with PR #5) is accurately identified — keeping this branch's version (PR #5's list + relationship_store) is the right resolution.

One note on the Bridges row: This PR leaves it at base (Letta), relying on PR #5's version to survive merge. If PR #5 merges first and this rebases, the Bridges row will correctly show agentic-stack. If this somehow merges before #5 without rebase, the Letta row would survive — but since this is DRAFT with explicit preconditions, that scenario can't happen. No issue.

Approval in principle. Content is verified against main. Will formal-approve at cut day after the preconditions checklist is satisfied (npm version check, [VERSION] placeholders filled, spot-check of relationship_store in the published tarball). Stays draft until then.

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.

3 participants