8ecfe383

By: Lucien Huber <im@lcnbr.ch>

support jj docs builds and warn on scope drift during watch

Resolve documentation provenance from JJ @ in standalone and linked workspaces,
while retaining ordinary Git and explicit archive/CI metadata support. Capture
one commit and its timestamp per build so concurrent snapshots cannot mix source
link revisions. Supply Jujutsu in the flake shell and documentation tool closures.

Warn on verified content drift during docs-watch. Keep ordinary checks/builds
strict, and bound the build architecture scopes to their relevant declarations
so unrelated edits no longer need attestations.

User request: yeah that sounds more reasonable..

Accepted proposal: make scope drift a warning during docs-watch, with narrower review checks in CI.

User report: documentation build failed; retaining the last good build cannot determine the documented Git commit; set ALPHAL00P_DOCS_GIT_COMMIT

User clarification: its a jj workspace so no .git

Approval requested: May I enable Typst rendering in the new regression test before pushing? It currently fails because its linked pages aren't rendered; the other 131 tests pass.

User approval: yes
GitHub
alphal00p-docsalphal00p-docs-persistent-typstgammaloop-checkgammaloop-clippygammaloop-docgammaloop-fmtgammaloop-guppy-workspace-graphgammaloop-nextest-binaries-clinnetgammaloop-nextest-binaries-coregammaloop-nextest-binaries-docsgammaloop-nextest-binaries-integrationgammaloop-nextest-binaries-linnetgammaloop-nextest-binaries-python-apigammaloop-nextest-binaries-spensogammaloop-nextest-binaries-vakintlinnest-wasmconfiguredeploy:nix-ci-passedclinnetdevShellfullalphal00p-docs-cargo-artifactsalphal00p-docs-pagesalphal00p-docs-snapshot-fixturecargoArtifactsci-workspace-graph-jsonclinnetclinnet-clicrate-deps-gammaloop-workspace-hackcrate-deps-gammalooprscrate-test-binaries-alphal00p-docs-buildercrate-test-binaries-alphal00p-docs-catalogscrate-test-binaries-alphal00p-docs-examplescrate-test-binaries-alphal00p-docs-macroscrate-test-binaries-alphal00p-docs-python-exportercrate-test-binaries-alphal00p-docs-schemacrate-test-binaries-clinnetcrate-test-binaries-gammaloop-apicrate-test-binaries-gammaloop-integration-testscrate-test-binaries-gammaloop-tracing-filtercrate-test-binaries-gammaloop-tracing-filter-macroscrate-test-binaries-gammalooprscrate-test-binaries-idensocrate-test-binaries-kurvstcrate-test-binaries-linnestcrate-test-binaries-linnetcrate-test-binaries-linnet-pycrate-test-binaries-python-api-gammaloop-integration-testscrate-test-binaries-spensocrate-test-binaries-spenso-hep-libcrate-test-binaries-spenso-macroscrate-test-binaries-symbolica-utilscrate-test-binaries-vakintcrate-test-dependencies-alphal00p-docs-buildercrate-test-dependencies-alphal00p-docs-catalogscrate-test-dependencies-alphal00p-docs-examplescrate-test-dependencies-alphal00p-docs-macroscrate-test-dependencies-alphal00p-docs-python-exportercrate-test-dependencies-alphal00p-docs-schemacrate-test-dependencies-clinnetcrate-test-dependencies-gammaloop-apicrate-test-dependencies-gammaloop-integration-testscrate-test-dependencies-gammaloop-tracing-filtercrate-test-dependencies-gammaloop-tracing-filter-macroscrate-test-dependencies-gammalooprscrate-test-dependencies-idensocrate-test-dependencies-kurvstcrate-test-dependencies-linnestcrate-test-dependencies-linnet-pycrate-test-dependencies-python-api-gammaloop-integration-testscrate-test-dependencies-spensocrate-test-dependencies-spenso-hep-libcrate-test-dependencies-symbolica-utilscrate-test-dependencies-vakintgammaloopgammaloop-python-modulegammaloopApiPackageArtifactslinnest-wasmlinnestWasmCargoArtifactsnix-ci-check-gammaloop-doctestnix-ci-check-gammaloop-nextest-clinnetnix-ci-check-gammaloop-nextest-corenix-ci-check-gammaloop-nextest-docsnix-ci-check-gammaloop-nextest-integrationnix-ci-check-gammaloop-nextest-linnetnix-ci-check-gammaloop-nextest-python-apinix-ci-check-gammaloop-nextest-spensonix-ci-check-gammaloop-nextest-vakintnix-ci-passedx86_64-linuxtest:nix-ci-check-gammaloop-doctesttest:nix-ci-check-gammaloop-nextest-clinnettest:nix-ci-check-gammaloop-nextest-coretest:nix-ci-check-gammaloop-nextest-docstest:nix-ci-check-gammaloop-nextest-integrationtest:nix-ci-check-gammaloop-nextest-linnettest:nix-ci-check-gammaloop-nextest-python-apitest:nix-ci-check-gammaloop-nextest-spensotest:nix-ci-check-gammaloop-nextest-vakint