feat: add the TechLog Studio asset library route and screen
Adds TECH_LOG_STUDIO_ASSETS (/studio/assets) as a route reachable but excluded from primary Studio navigation (navigationLabel/navigationOrder null), plus the AssetLibrary screen that lists assets, shows usage, and lets an operator archive or hard-delete one. canHardDelete() is a pure gate mirroring the server's ASSET_IN_USE rule so the screen never offers an action the server would refuse. Adding a 28th route also required updating the route-scoped CI accessibility-evidence gate (FE-GATE-009 in config/ci/gates.json, plus its authority-baseline counts and shape digest in scripts/contracts/ci-gates.ts) and the Vite route-to-chunk map that scripts/generate-build-manifest.ts depends on, or test:unit and the production build both fail. See task-11-report.md for the full breakdown. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
073fda87eb
commit
b11aa94f1c
@@ -446,7 +446,9 @@ export type LoadCiGateContractOptions = Readonly<{
|
||||
const CANONICAL_GATE_SHAPE_SHA256 =
|
||||
// Template merge. Both sides carried a digest of their own gate set; neither
|
||||
// describes the merged one. Recomputed from the merged config/ci/gates.json.
|
||||
"5063586d799f51de94c0f0ddaf9b75e180825bba5051bc309550425013ea81ef";
|
||||
// Task 11: recomputed again after FE-GATE-009 gained the
|
||||
// TECH_LOG_STUDIO_ASSETS manual accessibility evidence artifact.
|
||||
"3dda8421822eb094ceb06693ed8143cd9298947fa86681bbd941726a0d9674a9";
|
||||
|
||||
function canonicalGateShapeSha256(gates: CiGateContract["gates"]): string {
|
||||
const normalized = gates.map(
|
||||
@@ -486,8 +488,9 @@ function canonicalAuthorityBaselineFailures(contract: CiGateContract): string[]
|
||||
);
|
||||
}
|
||||
// Template merge. 126 product artifacts plus the two the template added.
|
||||
if (contract.artifacts.length !== 128) {
|
||||
failures.push(`artifact authority baseline must contain exactly 128 artifacts; received ${contract.artifacts.length}`);
|
||||
// Task 11 added one more: the TECH_LOG_STUDIO_ASSETS manual a11y evidence file.
|
||||
if (contract.artifacts.length !== 129) {
|
||||
failures.push(`artifact authority baseline must contain exactly 129 artifacts; received ${contract.artifacts.length}`);
|
||||
}
|
||||
if (contract.stages.length !== 5) {
|
||||
failures.push(`stage authority baseline must contain exactly 5 stages; received ${contract.stages.length}`);
|
||||
|
||||
Reference in New Issue
Block a user