From ac4f769df140ebe79c1f5aead28ae14b924e5295 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 24 Sep 2026 10:18:40 +0000 Subject: [PATCH] Hold the knowledge half-life seed files out of the release #744 added System/knowledge-half-life.yaml and its .example.yaml as seed paths and taught the ownership contract about them. But an update is planned by the installed vault's contract (and, through the bridge, by the pinned foundation release's), and every contract before #744 returns unclassified-never-write for both paths. A release carrying them is refused by every existing vault with "release contains a path the ownership contract refuses", which is exactly what the historic-fleet canary reported on #741. Hold both files back in .distignore until installed contracts know them. The feature is an unwired proposal and core/utils/freshness.py reads a missing config as UNAVAILABLE by design, so users see no change. Proven locally: the release file list resolved through .distignore has zero paths refused by the v1.81.16 foundation contract, against two before this change. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_0113icGZrCbSBmwomv7e49bH --- .distignore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.distignore b/.distignore index f37dfadde..1781b2dfe 100644 --- a/.distignore +++ b/.distignore @@ -50,3 +50,12 @@ memory/ # This file itself .distignore + +# Knowledge half-life (#744) is a proposal that no skill reads yet. Its two seed +# files are the first shipped paths added since the pinned update foundation, and +# every installed contract before #744 refuses them as unclassified, so a release +# carrying them cannot be installed by any existing vault. Hold them back until +# installed contracts know the paths; core/utils/freshness.py reads a missing +# config as UNAVAILABLE by design. +System/knowledge-half-life.yaml +System/knowledge-half-life.example.yaml