Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 42dd30007b8f064c73ad06503f3a167f7195c245
parent b4a06f8c37128d6ca8657454b74fb884ee98e7d2
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Thu,  1 Oct 2026 20:44:44 -0400

common: compose re-composes only a site's own stages after another site's compose; the per-channel trees keep their signatures

The trees are copies of the shared trees, the same bytes whichever site copied
them, so the basic Build all does not re-copy every channel per site.

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

Diffstat:
Mcommon/bin/compose-site.ts | 13+++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/common/bin/compose-site.ts b/common/bin/compose-site.ts @@ -718,16 +718,21 @@ export async function main( // a private site and then a public one shipped the private site's summaries // as the public site's. public/site.json names the site composed into it // last (it is written below, every compose); another name, or none, and the - // cache is not trusted. + // site's own stages (summaries, stats, duplicates) are composed afresh. + // + // The per-channel tree signatures stay trusted: those trees are copies of + // the SHARED trees, the same bytes whichever site copied them, and a + // channel another site pruned is re-copied because its directory is gone. const cachePath = composeCachePath(paths, siteId); const lastComposed = builtSiteIdIn(paths.exportPublicDir); + const cached = await readComposeCache(cachePath); const cache: ComposeCache = lastComposed === siteId - ? await readComposeCache(cachePath) - : { transcripts: {}, subs: {}, posts: {}, digests: {} }; + ? cached + : { ...cached, summaries: undefined, stats: undefined, duplicates: undefined }; if (lastComposed !== siteId && lastComposed !== null) { console.log( - `[compose] public/ was last composed for "${lastComposed}": composing every stage for "${siteId}".`, + `[compose] public/ was last composed for "${lastComposed}": composing ${siteId}'s summaries, stats and duplicates afresh.`, ); } // Until this compose writes its own, public/ names no site: a compose cut