Backlog batch: real tombstones, vault wiring, config command, search tag parity#26
Merged
Conversation
tombstone_pack now recomputes the pack head's latest_version to the newest remaining Active version (same semver_gt comparator register_pack_version uses, now pub so postgres and the test mock share it), clearing it when none remain. Search excludes packs with no resolvable latest in every query branch, including trending, which previously had no tombstone exclusion at all. Trait docs rewritten to match reality: search documents the latest_version mechanism, the versions routes document that they deliberately return tombstoned records with status visible. Covered by three router-level integration tests plus mirrored docker-gated postgres tests.
evaluate_upgrade and GateDecision had no callers outside their own unit tests; evaluate_cross_version is the live gate. Module docs and re-exports updated.
frameshift config get/set exposes telemetry_opt_in (allowlisted keys, strict booleans, creates config.toml on first set) so opting in no longer means hand-editing TOML. grow append --global writes a structured Global-scope entry so grow summary --scope global stops summarizing an empty set. The MCP frameshift_search tool gains the CLI's tag filter.
The vault subsystem (trait, schema, age/scrypt local backend,
template tokens) was fully built with zero callers. frameshift vault
init/set/get/rm/list now manages a per-project vault.age in the
central store; the passphrase comes from FRAMESHIFT_VAULT_PASSPHRASE
or a hidden prompt (CLI only). The client gains an opt-in
VaultProvider -- the library never prompts; daemon and MCP wire
env-only providers. Packs that ship pack.template.toml get their
declared {{tokens}} substituted at render time from the vault, with
every missing required token named in one typed error before any
output is written. Packs without the manifest render byte-identically
to before -- covered by a regression test -- so nothing changes for
any existing pack. Vault and template errors are boxed to keep
ClientError small per the existing Compose precedent.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Four logical commits clearing the post-launch backlog.
Verification