Skip to content

fix(knowledge): remove implicit ancestry ceiling and preserve long histories - #209

Merged
drewstone merged 2 commits into
mainfrom
fix/caller-owned-lineage-budget
Sep 14, 2026
Merged

drewstone merged 2 commits into
mainfrom
fix/caller-owned-lineage-budget

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Change

A finite history longer than 64 ancestors was classified as invalid durable state. After enough continuations, ordinary Knowledge retrieval therefore stopped seeing valid retained work.

Remove the source-level ancestry ceiling. A caller that needs a bounded read can provide maxAncestors (including zero); exact-bound chains work and over-bound chains fail explicitly, never silently truncate. Cycle detection, parent/identity validation, conflict detection and filesystem containment remain unchanged.

No new store, cache, scheduler, maintenance agent, ontology, or research policy. Five changed files, one clean commit. Version 17.0.0 and generated API surface follow this repository's existing exported-shape version policy; no package has been published.

Proof

  • 20 focused native tests passed locally, including a real page inherited from the 65th ancestor, a 256-ancestor chain, explicit bounds, cycles, conflicting parents, malformed bounds and root-only reads.
  • Exact native frozen-install verification ran on Node 22 in Actions run 34787182952: lint, typecheck, full pnpm test, build, API surface generation, verify:package, and git diff --check passed.
  • The tested product tree is unchanged by the final squash; temporary development preparation files are absent from the diff and branch history.
  • Normal PR CI is the final check on this exact commit.

Limits

This fixes the arbitrary correctness cutoff; it does not make full-chain corpus loading or receipt hashing constant-time. It does not claim remote durability, high-throughput search, or cross-host consistency. The complete finite-chain default trusts the caller-supplied lineage authority; callers exposing adversarial/dynamically unbounded authorities should supply a read bound.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@drewstone
drewstone merged commit 26c714d into main Sep 14, 2026
2 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