@warpgogol/werkstatt-shared 0.14.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -15
- package/README.uk.md +1 -1
- package/package.json +517 -766
- package/src/{share/agent → agent}/ard-catalog.ts +6 -1
- package/src/{share/agent → agent}/dns-aid.test.ts +2 -2
- package/src/{share/agent → agent}/manifest.ts +15 -1
- package/src/{share/agent → agent}/search.ts +6 -1
- package/src/{share → agent}/tests/api-catalog.test.ts +2 -2
- package/src/{share → agent}/tests/ard-catalog.test.ts +2 -2
- package/src/{share → agent}/tests/capability.test.ts +1 -1
- package/src/{share → agent}/tests/fleet-catalog.test.ts +1 -1
- package/src/{share → agent}/tests/knowledge.test.ts +2 -2
- package/src/{share → agent}/tests/manifest.test.ts +1 -1
- package/src/{share → agent}/tests/mcp-card.test.ts +2 -2
- package/src/{share → agent}/tests/openapi.test.ts +2 -2
- package/src/{share → agent}/tests/proof.test.ts +1 -1
- package/src/{share → attribution}/material-credits.ts +4 -4
- package/src/{share → checks}/check-hints.ts +6 -1
- package/src/checks/index.ts +4 -1
- package/src/checks/lib/astro-site-url.ts +6 -1
- package/src/checks/lib/i18n.ts +14 -0
- package/src/checks/result-helpers.ts +2 -2
- package/src/checks/tests/remediation-auto-populate.test.ts +1 -1
- package/src/{share → client-scripts}/counter-utils.ts +6 -2
- package/src/{share/scripts → client-scripts}/external-link-qr.ts +11 -16
- package/src/{share/scripts → client-scripts}/external-links.ts +12 -1
- package/src/{share/scripts → client-scripts}/gsap-counter.ts +8 -3
- package/src/client-scripts/index.ts +35 -0
- package/src/{share/scripts → client-scripts}/inline-number-animation.ts +1 -1
- package/src/{share/scripts → client-scripts}/lenis.ts +6 -1
- package/src/{share/scripts → client-scripts}/lordicon.ts +6 -1
- package/src/{share/scripts → client-scripts}/orchestrator.ts +10 -1
- package/src/{share/scripts → client-scripts}/scheduler.ts +6 -1
- package/src/client-scripts/scroll-spy.ts +106 -0
- package/src/client-scripts/tests/orchestrator.test.ts +47 -0
- package/src/client-scripts/tests/scroll-spy.test.ts +204 -0
- package/src/{share/scripts → client-scripts/tests}/video-player.test.ts +51 -31
- package/src/component/contracts.ts +206 -0
- package/src/component/index.ts +11 -0
- package/src/{share → content}/content-reference.ts +3 -3
- package/src/{share/content → content}/entity-id.ts +6 -3
- package/src/content/index.ts +3 -0
- package/src/{share/content → content}/merge.ts +6 -1
- package/src/content/system-manifest.test.ts +107 -0
- package/src/content/system-manifest.ts +12 -94
- package/src/{share → content}/tests/resolve-field-path.test.ts +1 -1
- package/src/{share → content}/tests/substitute-deep.test.ts +1 -1
- package/src/content-discipline/index.ts +19 -0
- package/src/{share/content-discipline → content-discipline}/parsers.ts +2 -2
- package/src/{share/env.d.ts → env.d.ts} +6 -3
- package/src/fingerprint/canonical-json.ts +731 -0
- package/src/fingerprint/index.ts +12 -0
- package/src/fingerprint/primitives.ts +72 -0
- package/src/{share/i18n → i18n}/localization.ts +6 -2
- package/src/integration/adapters.ts +10 -71
- package/src/integration/dispatch.ts +1 -1
- package/src/integration/funnel.ts +6 -1
- package/src/integration/index.ts +101 -4
- package/src/integration/lagebild-destination-adapter.ts +108 -0
- package/src/integration/lagebild-ingress.ts +7 -12
- package/src/integration/orchestration.ts +11 -10
- package/src/integration/tests/deliver-event.test.ts +1 -1
- package/src/integration/tests/dispatch.test.ts +4 -4
- package/src/integration/tests/hub-runtime.test.ts +22 -14
- package/src/integration/vitest.config.ts +1 -0
- package/src/kernel/desired-state.ts +227 -0
- package/src/kernel/diagnostic.ts +289 -0
- package/src/kernel/fs-atomic.ts +131 -0
- package/src/kernel/index.ts +15 -0
- package/src/kernel/tests/fs-atomic.test.ts +150 -0
- package/src/kernel/tests/workspace-io.test.ts +187 -0
- package/src/kernel/types.ts +459 -0
- package/src/kernel/workspace-io.ts +248 -0
- package/src/{share → knowledge}/tests/claim.test.ts +1 -1
- package/src/{share → knowledge}/tests/derivation.test.ts +1 -1
- package/src/{share → knowledge}/tests/freshness.test.ts +1 -1
- package/src/{share → knowledge}/tests/ledger.test.ts +1 -1
- package/src/{share → knowledge}/tests/plan.test.ts +1 -1
- package/src/{share → knowledge}/tests/source.test.ts +1 -1
- package/src/legal/index.ts +15 -0
- package/src/{share/middleware → middleware}/access-protection.ts +8 -8
- package/src/{share → node}/dev-props-validator.ts +6 -1
- package/src/{share → node}/import-scan.ts +23 -3
- package/src/{share → node}/semantic/derived-prices-loader.ts +4 -2
- package/src/{share → node}/semantic/markdown-twin-provenance.ts +1 -1
- package/src/{share/semantic → node}/tests/derived-prices-loader.test.ts +14 -1
- package/src/{share/semantic → node}/tests/markdown-twin-provenance.test.ts +1 -1
- package/src/observability/env-resolver.ts +6 -1
- package/src/observability/index.ts +6 -1
- package/src/observability/otlp-converter.ts +6 -1
- package/src/observability/otlp-transport.ts +6 -1
- package/src/observability/pusher.ts +6 -1
- package/src/observability/redact.ts +6 -1
- package/src/observability/typed-refs.ts +6 -2
- package/src/observability/vitest.config.ts +1 -0
- package/src/{share → offers}/formula-eval.ts +3 -3
- package/src/{share → offers}/tests/formula-eval.test.ts +2 -2
- package/src/onboarding/index.ts +1 -0
- package/src/{share → onboarding}/tests/onboarding-yaml.test.ts +1 -1
- package/src/ontology/archetype-registry.ts +6 -1
- package/src/ontology/archetypes/index.json +33 -1
- package/src/ontology/archetypes/index.yaml +27 -1
- package/src/ontology/archetypes/sections/entity-grid.yaml +46 -0
- package/src/ontology/archetypes/sections/exit-diagram.yaml +43 -0
- package/src/ontology/biome-token-projection.ts +6 -1
- package/src/ontology/cosmic/index.ts +6 -1
- package/src/ontology/cosmic/moon-catalog.ts +6 -1
- package/src/ontology/cosmic/planet-catalog.ts +6 -1
- package/src/ontology/cosmic/star-catalog.ts +6 -1
- package/src/ontology/enums.ts +6 -1
- package/src/ontology/external-surfaces/index.ts +1 -1
- package/src/ontology/index.ts +6 -2
- package/src/ontology/manifest.ts +7 -4
- package/src/ontology/operations/artifact-store.ts +45 -0
- package/src/ontology/operations/dht.ts +98 -0
- package/src/ontology/operations/handoff.ts +92 -0
- package/src/ontology/operations/index.ts +187 -1
- package/src/ontology/operations/leitstand.ts +99 -0
- package/src/ontology/operations/materialization.ts +90 -0
- package/src/ontology/operations/mission.ts +111 -0
- package/src/ontology/operations/naming-policy.ts +132 -0
- package/src/ontology/operations/notausgang.ts +64 -0
- package/src/ontology/operations/release.ts +121 -0
- package/src/ontology/operations/sternsystem.ts +192 -0
- package/src/ontology/operations/werkstatt.ts +48 -0
- package/src/ontology/schemas/biome.ts +7 -2
- package/src/ontology/schemas/capability.ts +1 -1
- package/src/ontology/schemas/constellation.ts +6 -1
- package/src/ontology/schemas/index.ts +6 -2
- package/src/ontology/schemas/manifest-resolver.ts +6 -1
- package/src/ontology/schemas/page-entry.ts +9 -5
- package/src/ontology/schemas/system/growth.ts +6 -1
- package/src/ontology/schemas/system/manifest.ts +40 -1
- package/src/ontology/schemas/system/page-output.ts +7 -6
- package/src/ontology/schemas/system/text.ts +15 -0
- package/src/ontology/schemas/system.ts +6 -2
- package/src/ontology/shared-section-props/body-fragments.ts +2 -0
- package/src/ontology/tests/sternsystem-owner.test.ts +1 -1
- package/src/ontology/vitest.config.ts +1 -0
- package/src/{share → page}/page.ts +13 -9
- package/src/{share → page}/tests/dev-props-validator.test.ts +1 -1
- package/src/{share → page}/tests/hero-section-numbering-parity.test.ts +1 -1
- package/src/passport/index.ts +6 -1
- package/src/passport/key-rotate.ts +10 -2
- package/src/passport/schema.ts +6 -1
- package/src/passport/sign.ts +8 -3
- package/src/passport/vitest.config.ts +1 -0
- package/src/pbt/index.test.ts +95 -0
- package/src/pbt/index.ts +251 -0
- package/src/plugin/plugin-contract.ts +1 -1
- package/src/{share → policy}/entitlement.ts +24 -4
- package/src/{share → policy}/feature-policy.ts +8 -3
- package/src/{share → policy}/visibility.ts +7 -2
- package/src/redirects/redirects.ts +117 -0
- package/src/{share → redirects/tests}/redirects.test.ts +1 -1
- package/src/remediation/remediation-catalog.ts +316 -0
- package/src/{share/routes → routes}/template-filter.ts +1 -1
- package/src/{share → runtime}/runtime-context.ts +7 -2
- package/src/{share → runtime}/shared-context.ts +1 -1
- package/src/{share/schemas → schemas}/claims.ts +2 -2
- package/src/{share/schemas → schemas}/effects.ts +6 -1
- package/src/{share/schemas → schemas}/features.ts +1 -1
- package/src/{share/schemas → schemas}/index.ts +3 -3
- package/src/{share/schemas → schemas}/navigation.ts +6 -1
- package/src/{share/schemas → schemas}/page-base.ts +6 -2
- package/src/{share/schemas → schemas}/person.ts +1 -1
- package/src/{share/schemas → schemas}/standard-list-item.ts +1 -1
- package/src/{share → sections}/rfc0042-utils.ts +1 -1
- package/src/{share/semantic → semantic}/block-extractors/index.ts +20 -1
- package/src/{share/semantic → semantic}/business-projection.ts +95 -1
- package/src/semantic/canonical-uri.ts +54 -0
- package/src/{share/semantic → semantic}/extract.ts +100 -1
- package/src/semantic/fact-extraction.test.ts +47 -0
- package/src/semantic/fact-extraction.ts +46 -0
- package/src/semantic/freshness.ts +67 -0
- package/src/{share/semantic → semantic}/ids.ts +6 -1
- package/src/{share/semantic → semantic}/index.ts +9 -2
- package/src/{share/semantic → semantic}/jsonld/breadcrumb.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/context.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/faq.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/initiative.ts +6 -1
- package/src/{share/semantic → semantic}/jsonld/organization.ts +6 -1
- package/src/{share/semantic → semantic}/jsonld/person.ts +6 -2
- package/src/{share/semantic → semantic}/jsonld/service.ts +6 -2
- package/src/semantic/jsonld/shared.ts +36 -0
- package/src/semantic/jsonld/types.ts +24 -0
- package/src/{share/semantic → semantic}/jsonld/webpage.ts +6 -1
- package/src/semantic/jsonld/website.ts +32 -0
- package/src/{share/semantic → semantic}/jsonld.ts +6 -1
- package/src/{share/semantic → semantic}/llms.ts +41 -3
- package/src/{share/semantic → semantic}/models.ts +26 -38
- package/src/{share/semantic → semantic}/organization-profile.ts +3 -0
- package/src/{share/semantic → semantic}/page-builders/markdown-page.ts +6 -3
- package/src/{share/semantic → semantic}/page-utils.ts +6 -3
- package/src/{share/tests/breadcrumbs.test.ts → semantic/tests/breadcrumbs-0229.test.ts} +1 -1
- package/src/{share → semantic}/tests/build-page-price-markers.test.ts +2 -2
- package/src/{share/semantic → semantic}/tests/business-projection.test.ts +179 -0
- package/src/semantic/tests/canonical-uri.test.ts +56 -0
- package/src/{share/semantic → semantic}/tests/extract.test.ts +83 -0
- package/src/semantic/tests/freshness.pbt.test.ts +108 -0
- package/src/{share/tests/image-sitemap.test.ts → semantic/tests/image-sitemap-0150.test.ts} +1 -1
- package/src/{share → semantic}/tests/jsonld-service.test.ts +2 -2
- package/src/{share → semantic}/tests/jsonld-video.test.ts +3 -3
- package/src/{share → semantic}/tests/jsonld-webpage.test.ts +3 -3
- package/src/{share → semantic}/tests/llms-0789.test.ts +2 -2
- package/src/{share/semantic → semantic}/tests/llms.test.ts +46 -0
- package/src/{share → semantic}/tests/organization-jsonld.test.ts +3 -3
- package/src/{share/tests/output-projection.test.ts → semantic/tests/output-projection-0143.test.ts} +1 -1
- package/src/{share/tests/price-marker-resolver.test.ts → semantic/tests/price-marker-resolver-0767.test.ts} +2 -2
- package/src/{share/semantic → semantic}/tests/price-marker-resolver.test.ts +4 -2
- package/src/semantic/tests/project-claims.pbt.test.ts +60 -0
- package/src/{share/semantic → semantic}/tests/split-sentences.test.ts +1 -1
- package/src/{share → semantic}/tests/twin-path.test.ts +1 -1
- package/src/signing/index.ts +13 -0
- package/src/signing/key.ts +139 -0
- package/src/signing/sign.ts +66 -0
- package/src/signing/types.ts +29 -0
- package/src/{share/slug → slug}/slug-url.ts +4 -1
- package/src/stack/run-tool.ts +108 -0
- package/src/stack/stack-checks.ts +124 -0
- package/src/stack/tests/run-tool.test.ts +138 -0
- package/src/stack/tests/stack-checks.test.ts +141 -0
- package/src/stack/tests/walk-files.test.ts +131 -0
- package/src/stack/walk-files.ts +114 -0
- package/src/surface/blueprint.ts +342 -66
- package/src/surface/decision-composer.ts +6 -1
- package/src/surface/geo.ts +6 -1
- package/src/surface/index.ts +11 -7
- package/src/surface/types.ts +2 -2
- package/src/surface/vitest.config.ts +1 -0
- package/src/tests/signing-core.test.ts +129 -0
- package/src/{share → text}/css-value-normalize.ts +6 -1
- package/src/text/string-utils.ts +24 -0
- package/src/{share → text}/tests/text-normalize.test.ts +5 -0
- package/src/{share → text}/text-normalize.ts +4 -3
- package/src/{share → text}/wrap-inline-numbers.ts +1 -1
- package/src/types/axiom-study.d.ts +36 -0
- package/src/types/hls-js-light.d.ts +21 -0
- package/src/types/qrcode-browser.d.ts +23 -0
- package/src/typography/fix.pbt.test.ts +208 -0
- package/src/typography/fix.ts +148 -0
- package/src/typography/index.ts +54 -0
- package/src/typography/locale-defaults.ts +97 -0
- package/src/typography/rules-tier1.test.ts +459 -0
- package/src/typography/rules-tier1.ts +925 -0
- package/src/typography/rules-tier2-locale.pbt.test.ts +190 -0
- package/src/typography/rules-tier2-locale.test.ts +286 -0
- package/src/typography/rules-tier2-locale.ts +399 -0
- package/src/typography/rules-tier2-structure.test.ts +330 -0
- package/src/typography/rules-tier2-structure.ts +378 -0
- package/src/typography/rules-tier3-advisory.test.ts +290 -0
- package/src/typography/rules-tier3-advisory.ts +239 -0
- package/src/typography/text-surface.test.ts +244 -0
- package/src/typography/text-surface.ts +448 -0
- package/src/index.ts +0 -14
- package/src/integration/port-barrel.ts +0 -105
- package/src/share/agent/tests/api-catalog.test.ts +0 -8
- package/src/share/agent/tests/ard-catalog.test.ts +0 -8
- package/src/share/agent/tests/capability.test.ts +0 -14
- package/src/share/agent/tests/fleet-catalog.test.ts +0 -15
- package/src/share/agent/tests/knowledge.test.ts +0 -20
- package/src/share/agent/tests/manifest.test.ts +0 -9
- package/src/share/agent/tests/mcp-card.test.ts +0 -8
- package/src/share/agent/tests/openapi.test.ts +0 -8
- package/src/share/agent/tests/proof.test.ts +0 -15
- package/src/share/content/index.ts +0 -16
- package/src/share/content-discipline/index.ts +0 -14
- package/src/share/index.ts +0 -86
- package/src/share/knowledge/tests/claim.test.ts +0 -11
- package/src/share/knowledge/tests/derivation.test.ts +0 -30
- package/src/share/knowledge/tests/freshness.test.ts +0 -18
- package/src/share/knowledge/tests/ledger.test.ts +0 -35
- package/src/share/knowledge/tests/plan.test.ts +0 -19
- package/src/share/knowledge/tests/source.test.ts +0 -19
- package/src/share/legal/index.ts +0 -1
- package/src/share/redirects.ts +0 -54
- package/src/share/remediation/remediation-catalog.ts +0 -196
- package/src/share/scripts/index.ts +0 -26
- package/src/share/scripts/tests/orchestrator.test.ts +0 -8
- package/src/share/semantic/jsonld/shared.ts +0 -31
- package/src/share/semantic/jsonld/types.ts +0 -19
- package/src/share/semantic/jsonld/website.ts +0 -27
- package/src/share/string-utils.ts +0 -19
- package/src/share/types/axiom-study.d.ts +0 -22
- package/src/share/types/hls-js-light.d.ts +0 -16
- package/src/share/types/qrcode-browser.d.ts +0 -18
- package/src/share/utility-registry.yaml +0 -50
- package/src/share/vitest.config.ts +0 -8
- package/src/surface/blueprint-schema.ts +0 -314
- package/src/surface/blueprint-types.ts +0 -256
- /package/src/{share/agent → agent}/api-catalog.ts +0 -0
- /package/src/{share/agent → agent}/capability.ts +0 -0
- /package/src/{share/agent → agent}/dns-aid.ts +0 -0
- /package/src/{share/agent → agent}/fleet-catalog.ts +0 -0
- /package/src/{share/agent → agent}/index.ts +0 -0
- /package/src/{share/agent → agent}/knowledge.ts +0 -0
- /package/src/{share/agent → agent}/mcp-card.ts +0 -0
- /package/src/{share/agent → agent}/omit-empty.ts +0 -0
- /package/src/{share/agent → agent}/openapi.ts +0 -0
- /package/src/{share/agent → agent}/proof.ts +0 -0
- /package/src/{share/agent → agent}/search.test.ts +0 -0
- /package/src/{share/agent → agent}/tests/omit-empty.test.ts +0 -0
- /package/src/{share → attribution}/attribution-display.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-mountain-journey.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-parallax.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-reveal.ts +0 -0
- /package/src/{share/scripts → client-scripts}/gsap-stagger.ts +0 -0
- /package/src/{share/scripts → client-scripts}/live-photos.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/external-link-qr.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/external-links.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-counter.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-mountain-journey.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-parallax.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-reveal.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/gsap-stagger.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/inline-number-animation.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/lenis.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/live-photos.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/lordicon.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/tests/scheduler.test.ts +0 -0
- /package/src/{share/scripts → client-scripts}/video-player.ts +0 -0
- /package/src/{share/content → content}/resolve-field-path.ts +0 -0
- /package/src/{share/content → content}/substitute-deep.ts +0 -0
- /package/src/{share → content}/tests/content-ref-index.test.ts +0 -0
- /package/src/{share/content-discipline → content-discipline}/types.ts +0 -0
- /package/src/{share → image-provider}/image-provider.ts +0 -0
- /package/src/{share/knowledge → knowledge}/claim.ts +0 -0
- /package/src/{share/knowledge → knowledge}/derivation.ts +0 -0
- /package/src/{share/knowledge → knowledge}/freshness.ts +0 -0
- /package/src/{share/knowledge → knowledge}/index.ts +0 -0
- /package/src/{share/knowledge → knowledge}/ledger.ts +0 -0
- /package/src/{share/knowledge → knowledge}/plan.ts +0 -0
- /package/src/{share/knowledge → knowledge}/source.ts +0 -0
- /package/src/{share/legal → legal}/translation-policy.ts +0 -0
- /package/src/{share/middleware → middleware}/language-redirect.ts +0 -0
- /package/src/{share/middleware → middleware}/tests/access-protection.test.ts +0 -0
- /package/src/{share → node}/fs/index.ts +0 -0
- /package/src/{share/tests/markdown-twin-provenance.test.ts → node/tests/markdown-twin-provenance-0613.test.ts} +0 -0
- /package/src/{share → offers}/offer-capacity.ts +0 -0
- /package/src/{share/onboarding-yaml/index.ts → onboarding/yaml.ts} +0 -0
- /package/src/{share → ontology}/tests/ontology-role-by-cosmic-name.test.ts +0 -0
- /package/src/{share/routes → routes}/tests/template-filter.test.ts +0 -0
- /package/src/{share/schemas → schemas}/claim-records.ts +0 -0
- /package/src/{share/schemas → schemas}/horizontal-align.ts +0 -0
- /package/src/{share/schemas → schemas}/icon-color.ts +0 -0
- /package/src/{share/schemas → schemas}/live-photo.ts +0 -0
- /package/src/{share/schemas → schemas}/material-credit.ts +0 -0
- /package/src/{share/schemas → schemas}/media.ts +0 -0
- /package/src/{share/schemas → schemas}/participant.ts +0 -0
- /package/src/{share/schemas → schemas}/print.ts +0 -0
- /package/src/{share/schemas → schemas}/section-background.ts +0 -0
- /package/src/{share/schemas → schemas}/section-body.ts +0 -0
- /package/src/{share/schemas → schemas}/section-cards.ts +0 -0
- /package/src/{share/schemas → schemas}/section-cta.ts +0 -0
- /package/src/{share/schemas → schemas}/section-header.ts +0 -0
- /package/src/{share/schemas → schemas}/section-image.ts +0 -0
- /package/src/{share/schemas → schemas}/section-motion.ts +0 -0
- /package/src/{share/schemas → schemas}/section-shell.ts +0 -0
- /package/src/{share/schemas → schemas}/section-stats.ts +0 -0
- /package/src/{share/schemas → schemas}/site-background.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/claim-records.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/claims.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/effects.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/features.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/horizontal-align.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/icon-color.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/live-photo.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/material-credit.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/media.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/navigation.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/page-base.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/participant.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/person.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/print.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-background.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-body.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-cards.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-cta.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-header.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-image.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-motion.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-shell.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/section-stats.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/site-background.test.ts +0 -0
- /package/src/{share/schemas → schemas}/tests/standard-list-item.test.ts +0 -0
- /package/src/{share/semantic → semantic}/ai.ts +0 -0
- /package/src/{share/semantic → semantic}/block-extraction.ts +0 -0
- /package/src/{share/semantic → semantic}/breadcrumbs.ts +0 -0
- /package/src/{share/semantic → semantic}/build-page.ts +0 -0
- /package/src/{share/semantic → semantic}/feed.ts +0 -0
- /package/src/{share/semantic → semantic}/image-sitemap.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/article.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/collection-list.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/article.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/breadcrumb.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/collection-list.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/faq.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/initiative.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/organization.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/person.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/service.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/shared.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/video.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/webpage.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/tests/website.test.ts +0 -0
- /package/src/{share/semantic → semantic}/jsonld/video.ts +0 -0
- /package/src/{share/semantic → semantic}/llms-policy.ts +0 -0
- /package/src/{share/semantic → semantic}/markdown-hygiene.ts +0 -0
- /package/src/{share/semantic → semantic}/output-projection.ts +0 -0
- /package/src/{share/semantic → semantic}/page-markdown.ts +0 -0
- /package/src/{share/semantic → semantic}/price-marker-resolver.ts +0 -0
- /package/src/{share/semantic → semantic}/robots.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/ai.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/block-extraction.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/breadcrumbs.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/build-page.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/feed.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/helpers.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/ids.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/image-sitemap.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/jsonld.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/llms-policy.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/markdown-hygiene.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/markdown-page.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/organization-profile.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/output-projection.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/page-markdown.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/page-utils.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/robots.test.ts +0 -0
- /package/src/{share/semantic → semantic}/tests/update-stamp.test.ts +0 -0
- /package/src/{share/semantic → semantic}/update-stamp.ts +0 -0
- /package/src/{share/slug → slug}/heading-slugger.ts +0 -0
- /package/src/{share/slug → slug}/index.ts +0 -0
- /package/src/{share/slug → slug}/slug-id.ts +0 -0
- /package/src/{share/slug → slug}/strategies.ts +0 -0
- /package/src/{share/slug → slug}/tests/slug.test.ts +0 -0
- /package/src/{share → text}/tests/text-normalize.pbt.test.ts +0 -0
- /package/src/{share → text}/text-position.ts +0 -0
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>
|
|
4
|
-
Canonical remediation catalog mapping ruleId to structured remediation patterns.
|
|
5
|
-
Consumed by diagnosticsResult() for auto-population and by remediation.hint.validate
|
|
6
|
-
for coverage checking (RFC-1027).
|
|
7
|
-
</purpose>
|
|
8
|
-
<non-goals>
|
|
9
|
-
<item>Does not own the Diagnostic schema — that lives in werkstatt-engine schemas.</item>
|
|
10
|
-
<item>Does not aggregate remediation hints into KernelExecutionReport — that is the engine's job.</item>
|
|
11
|
-
</non-goals>
|
|
12
|
-
</MODULE_CONTRACT>
|
|
13
|
-
<CHANGE_SUMMARY>
|
|
14
|
-
<item>RFC-1027: Create REMEDIATION_CATALOG with 30+ patterns for the most common ruleIds.</item>
|
|
15
|
-
</CHANGE_SUMMARY>
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
export interface RemediationPattern {
|
|
19
|
-
ruleId: string;
|
|
20
|
-
action: string;
|
|
21
|
-
template?: string;
|
|
22
|
-
docRef?: string;
|
|
23
|
-
targetFiles?: string[];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const REMEDIATION_ENTRIES: RemediationPattern[] = [
|
|
27
|
-
{
|
|
28
|
-
ruleId: "SEO-RUNTIME.CANONICAL-MISMATCH",
|
|
29
|
-
action: "Ensure the canonical URL in the rendered HTML matches the production domain without language prefix for the default locale.",
|
|
30
|
-
docRef: "docs/authoring/site-composition.md",
|
|
31
|
-
targetFiles: ["src/layouts/**/*.astro"],
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
ruleId: "WORKSPACE.SURFACE.VALIDATE",
|
|
35
|
-
action: "Fix surface validation errors by checking the surface block declarations against the schema.",
|
|
36
|
-
docRef: "docs/authoring/site-composition.md",
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
ruleId: "TEST.SIGNAL.POLICY.VALIDATE",
|
|
40
|
-
action: "Align test signal declarations with the policy schema — check signal name, severity, and evidence path.",
|
|
41
|
-
docRef: "docs/agents/domain.md",
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
ruleId: "PUBLIC.ICONS.VALIDATE",
|
|
45
|
-
action: "Replace invalid icon references with valid SurfaceLabels entries or remove the icon field.",
|
|
46
|
-
docRef: "docs/authoring/site-composition.md",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
ruleId: "PARITY-SECTION-COUNT",
|
|
50
|
-
action: "Add or remove sections so the locale overlay matches the base locale section count.",
|
|
51
|
-
docRef: "docs/authoring/preventive-measures-parity-and-templates.md",
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
ruleId: "GEN-FILES-01",
|
|
55
|
-
action: "Regenerate generated files by running the owning kernel command, then commit the updated output.",
|
|
56
|
-
docRef: "docs/authoring/generated-files-and-templates.md",
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
ruleId: "DEPS-GEN-01",
|
|
60
|
-
action: "Run pnpm exec werkstatt run deps.peer.check to regenerate the peer dependency manifest.",
|
|
61
|
-
docRef: "docs/authoring/generated-files-and-templates.md",
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
ruleId: "AGC-01",
|
|
65
|
-
action: "Fix the agent gate configuration — ensure the gate metadata matches the declared gate catalog.",
|
|
66
|
-
docRef: "docs/agents/domain.md",
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
ruleId: "WORKPIECE-IMPORTS-01",
|
|
70
|
-
action: "Resolve the broken import in the workpiece — check the module path and ensure the package is installed.",
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
ruleId: "SNAP-01",
|
|
74
|
-
action: "Regenerate the behavior snapshot by running pnpm exec werkstatt run behavior.snapshot.generate.",
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
ruleId: "CREG-04",
|
|
78
|
-
action: "Fix the content regression — review the content diff and update the review.yaml before closing the mission.",
|
|
79
|
-
docRef: "docs/authoring/site-composition.md",
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
ruleId: "CREG-03",
|
|
83
|
-
action: "Fix the content regression — ensure all locale overlays are consistent with the base content.",
|
|
84
|
-
docRef: "docs/authoring/preventive-measures-parity-and-templates.md",
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
ruleId: "CREG-01",
|
|
88
|
-
action: "Fix the content regression — the base content was changed without a review.yaml. Run content.regression.review.generate.",
|
|
89
|
-
docRef: "docs/authoring/site-composition.md",
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
ruleId: "BRK-04",
|
|
93
|
-
action: "Fix the bordbuch entry — ensure the hash chain is intact and the entry is properly signed.",
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
ruleId: "PROPS-01",
|
|
97
|
-
action: "Fix the content props schema violation — check the frontmatter against the schema declaration.",
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
ruleId: "MAINTENANCE.DEBT.BASELINE.VALIDATE",
|
|
101
|
-
action: "Regenerate the maintenance debt baseline by running pnpm exec werkstatt run maintenance.debt.baseline.generate.",
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
ruleId: "HDR-04",
|
|
105
|
-
action: "Fix the header configuration — ensure the header block matches the surface schema.",
|
|
106
|
-
docRef: "docs/authoring/site-composition.md",
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
ruleId: "HDR-02",
|
|
110
|
-
action: "Fix the header navigation — ensure all nav items have valid href and label.",
|
|
111
|
-
docRef: "docs/authoring/site-composition.md",
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
ruleId: "HDR-01",
|
|
115
|
-
action: "Fix the header structure — ensure the header block is declared in the surface composition.",
|
|
116
|
-
docRef: "docs/authoring/site-composition.md",
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
ruleId: "GEN-EDIT-01",
|
|
120
|
-
action: "Do not hand-edit generated files. Modify the source template and regenerate.",
|
|
121
|
-
docRef: "docs/authoring/generated-files-and-templates.md",
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
ruleId: "DEPS-PEER-01",
|
|
125
|
-
action: "Add the missing peer dependency to the package.json or remove the import that requires it.",
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
ruleId: "CW-EVID-01",
|
|
129
|
-
action: "Fix the changelog evidence — ensure the evidence file exists and is referenced correctly.",
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
ruleId: "CMD-MAN-03",
|
|
133
|
-
action: "Regenerate the command manifest by running pnpm exec werkstatt run command.manifest.generate.",
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
ruleId: "CI-LOCAL-05",
|
|
137
|
-
action: "Fix the CI configuration — ensure the local CI workflow matches the pipeline definitions.",
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
ruleId: "AGS-05",
|
|
141
|
-
action: "Fix the agent gate search configuration — ensure the search manifest is generated and accessible.",
|
|
142
|
-
docRef: "docs/agents/domain.md",
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
ruleId: "AGS-02",
|
|
146
|
-
action: "Fix the agent gate search schema — ensure the search chunk text is within the max length.",
|
|
147
|
-
docRef: "docs/agents/domain.md",
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
ruleId: "AGO-01",
|
|
151
|
-
action: "Fix the agent gate output — ensure the gate output matches the declared schema.",
|
|
152
|
-
docRef: "docs/agents/domain.md",
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
ruleId: "AGK-03",
|
|
156
|
-
action: "Fix the agent gate key — ensure the gate key is unique and matches the declared catalog.",
|
|
157
|
-
docRef: "docs/agents/domain.md",
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
ruleId: "WS-WRITE-02",
|
|
161
|
-
action: "Fix the workspace write — ensure the write intent is declared and the path is within the workspace root.",
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
ruleId: "SUPPRESS-VAL-04",
|
|
165
|
-
action: "Fix the suppression validation — ensure the suppression rule matches the declared schema.",
|
|
166
|
-
docRef: "docs/authoring/guide-suppression-matching.md",
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
ruleId: "ENV-CONTRACT-02",
|
|
170
|
-
action: "Fix the environment contract — ensure the env variable is declared in .env.example and matches the contract.",
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
ruleId: "ENV-CONTRACT-04",
|
|
174
|
-
action: "Fix the environment contract — ensure the env variable type matches the declared schema.",
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
ruleId: "ENV-CONTRACT-05",
|
|
178
|
-
action: "Fix the environment contract — ensure the env variable is documented in the .env.example file.",
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
ruleId: "DEPLOY-SCRIPTS-03",
|
|
182
|
-
action: "Fix the deploy script — ensure the script is executable and matches the deployment pipeline.",
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
ruleId: "FLEET-05",
|
|
186
|
-
action: "Fix the fleet configuration — ensure the fleet entry matches the declared schema.",
|
|
187
|
-
},
|
|
188
|
-
];
|
|
189
|
-
|
|
190
|
-
export const REMEDIATION_CATALOG: ReadonlyMap<string, RemediationPattern> = new Map(
|
|
191
|
-
REMEDIATION_ENTRIES.map((entry) => [entry.ruleId, entry]),
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
export function lookupRemediation(ruleId: string): RemediationPattern | undefined {
|
|
195
|
-
return REMEDIATION_CATALOG.get(ruleId);
|
|
196
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Serves as a central export point for various script modules utilized in dynamic loading contexts.</purpose>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<non-goals>
|
|
7
|
-
<item>Do not define new modules or components.</item>
|
|
8
|
-
<item>Do not manage application state or business logic.</item>
|
|
9
|
-
</non-goals>
|
|
10
|
-
</MODULE_CONTRACT>
|
|
11
|
-
|
|
12
|
-
<CHANGE_SUMMARY>
|
|
13
|
-
<item>Added Compass scaffolding to clarify module roles and prevent scope creep.</item>
|
|
14
|
-
</CHANGE_SUMMARY>
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
// scheduler.ts is loaded dynamically by orchestrator.ts and lordicon.ts
|
|
18
|
-
export * from "./lordicon.ts";
|
|
19
|
-
export * from "./external-links.ts";
|
|
20
|
-
export * from "./external-link-qr.ts";
|
|
21
|
-
export * from "./lenis.ts";
|
|
22
|
-
export * from "./orchestrator.ts";
|
|
23
|
-
// gsap-counter.ts (RFC-0040) is loaded dynamically by orchestrator.ts
|
|
24
|
-
// inline-number-animation.ts (RFC-0041) is loaded dynamically by orchestrator.ts
|
|
25
|
-
// gsap-reveal.ts / gsap-parallax.ts / gsap-stagger.ts (RFC-0106) are loaded
|
|
26
|
-
// dynamically by orchestrator.ts via the reveal / parallax / stagger opt-ins.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { runStandardLayoutOrchestration } from "../orchestrator.ts";
|
|
3
|
-
|
|
4
|
-
describe("runStandardLayoutOrchestration", () => {
|
|
5
|
-
it("is an async function", () => {
|
|
6
|
-
expect(typeof runStandardLayoutOrchestration).toBe("function");
|
|
7
|
-
});
|
|
8
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Maintains packages/share/src/semantic/jsonld/shared.ts as an authored share authored module so agents can evolve it without rediscovering local boundaries.</purpose>
|
|
4
|
-
<non-goals>
|
|
5
|
-
<item>Do not modify node structure.</item>
|
|
6
|
-
</non-goals>
|
|
7
|
-
</MODULE_CONTRACT>
|
|
8
|
-
<CHANGE_SUMMARY>
|
|
9
|
-
<item>Added graph deduplication utility keyed by @id.</item>
|
|
10
|
-
</CHANGE_SUMMARY>
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import type { JsonLdNode } from "./types.ts";
|
|
14
|
-
|
|
15
|
-
export function dedupeGraph(nodes: JsonLdNode[]): JsonLdNode[] {
|
|
16
|
-
const seenIds = new Set<string>();
|
|
17
|
-
|
|
18
|
-
return nodes.filter((node) => {
|
|
19
|
-
const nodeId = typeof node["@id"] === "string" ? node["@id"] : null;
|
|
20
|
-
if (!nodeId) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (seenIds.has(nodeId)) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
seenIds.add(nodeId);
|
|
29
|
-
return true;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// test-adjacency: exempt — pure type definitions
|
|
2
|
-
/*
|
|
3
|
-
<MODULE_CONTRACT>
|
|
4
|
-
<purpose>Maintains packages/share/src/semantic/jsonld/types.ts as an authored share authored module so agents can evolve it without rediscovering local boundaries.</purpose>
|
|
5
|
-
<non-goals>
|
|
6
|
-
<item>Do not implement JSON-LD processing logic.</item>
|
|
7
|
-
</non-goals>
|
|
8
|
-
</MODULE_CONTRACT>
|
|
9
|
-
<CHANGE_SUMMARY>
|
|
10
|
-
<item>Moved from app semantic/jsonld/types to packages/share.</item>
|
|
11
|
-
</CHANGE_SUMMARY>
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
export type JsonLdNode = Record<string, unknown>;
|
|
15
|
-
|
|
16
|
-
export type JsonLdDocument = {
|
|
17
|
-
"@context": "https://schema.org";
|
|
18
|
-
"@graph": JsonLdNode[];
|
|
19
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Maintains packages/share/src/semantic/jsonld/website.ts as an authored share authored module so agents can evolve it without rediscovering local boundaries.</purpose>
|
|
4
|
-
<non-goals>
|
|
5
|
-
<item>Do not parse raw content.</item>
|
|
6
|
-
</non-goals>
|
|
7
|
-
</MODULE_CONTRACT>
|
|
8
|
-
<CHANGE_SUMMARY>
|
|
9
|
-
<item>Added WebSite JSON-LD generation.</item>
|
|
10
|
-
</CHANGE_SUMMARY>
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import type { JsonLdContext } from "./context.ts";
|
|
14
|
-
import type { JsonLdNode } from "./types.ts";
|
|
15
|
-
|
|
16
|
-
export function buildWebSiteNode(context: JsonLdContext): JsonLdNode {
|
|
17
|
-
const { page, ids } = context;
|
|
18
|
-
|
|
19
|
-
return {
|
|
20
|
-
"@type": "WebSite",
|
|
21
|
-
"@id": ids.website,
|
|
22
|
-
url: page.organization.url,
|
|
23
|
-
name: page.organization.name,
|
|
24
|
-
inLanguage: page.lang,
|
|
25
|
-
publisher: { "@id": ids.organization },
|
|
26
|
-
};
|
|
27
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Maintains packages/share/src/string-utils.ts as an authored share authored module so agents can evolve it without rediscovering local boundaries.</purpose>
|
|
4
|
-
<non-goals>
|
|
5
|
-
<item>Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.</item>
|
|
6
|
-
</non-goals>
|
|
7
|
-
</MODULE_CONTRACT>
|
|
8
|
-
<CHANGE_SUMMARY>
|
|
9
|
-
<item>Dedup: centralise the kebab-case helper previously duplicated in site-kernel and site-kernel-checks.</item>
|
|
10
|
-
</CHANGE_SUMMARY>
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/** Lowercase, dash-only kebab-case. Strips leading/trailing hyphens. */
|
|
14
|
-
export function toKebabCase(value: string): string {
|
|
15
|
-
return value
|
|
16
|
-
.toLowerCase()
|
|
17
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
18
|
-
.replace(/^-+|-+$/g, "");
|
|
19
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
declare module "@syrokomskyi/axiom-study" {
|
|
2
|
-
export interface Finding {
|
|
3
|
-
findingId: string;
|
|
4
|
-
semanticFingerprint: { algorithm: "sha256"; digest: string; size: number; mediaType: string };
|
|
5
|
-
methodologyId: string;
|
|
6
|
-
ruleId: string;
|
|
7
|
-
affectedSubjectId: string;
|
|
8
|
-
title: string;
|
|
9
|
-
severity: "info" | "low" | "medium" | "high" | "critical";
|
|
10
|
-
evidence: Array<{
|
|
11
|
-
evidenceRef: {
|
|
12
|
-
artifactId: string;
|
|
13
|
-
rootDigest: { algorithm: "sha256"; digest: string; size: number; mediaType: string };
|
|
14
|
-
schema: string;
|
|
15
|
-
};
|
|
16
|
-
selector: string;
|
|
17
|
-
evidenceClass: string;
|
|
18
|
-
}>;
|
|
19
|
-
uncertainty: unknown[];
|
|
20
|
-
extension: Record<string, unknown>;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Type shim for the official `hls.js/light` export used by the lazy feature-video runtime.</purpose>
|
|
4
|
-
<non-goals>
|
|
5
|
-
<item>Do not change runtime resolution; this file only fills the missing package declaration.</item>
|
|
6
|
-
</non-goals>
|
|
7
|
-
</MODULE_CONTRACT>
|
|
8
|
-
<CHANGE_SUMMARY>
|
|
9
|
-
<item>Use the hls.js light runtime without losing TypeScript strictness.</item>
|
|
10
|
-
</CHANGE_SUMMARY>
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
declare module "hls.js/light" {
|
|
14
|
-
export { default } from "hls.js";
|
|
15
|
-
export * from "hls.js";
|
|
16
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Type shim for the qrcode browser entry point (qrcode/lib/browser.js).
|
|
4
|
-
The qrcode package only ships types for its main entry, but the browser entry
|
|
5
|
-
exports the same toCanvas function. This shim re-exports all types from qrcode
|
|
6
|
-
so the client-side QR code script gets full type safety.</purpose>
|
|
7
|
-
<non-goals>
|
|
8
|
-
<item>Do not change runtime resolution; this file only fills the missing package declaration.</item>
|
|
9
|
-
</non-goals>
|
|
10
|
-
</MODULE_CONTRACT>
|
|
11
|
-
<CHANGE_SUMMARY>
|
|
12
|
-
<item>Add type declaration for qrcode/lib/browser.js deep import used by external-link-qr.ts.</item>
|
|
13
|
-
</CHANGE_SUMMARY>
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
declare module "qrcode/lib/browser.js" {
|
|
17
|
-
export * from "qrcode";
|
|
18
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
utilities:
|
|
2
|
-
- id: slug
|
|
3
|
-
canonicalPath: packages/werkstatt-shared/src/share/slug/
|
|
4
|
-
forbiddenImports:
|
|
5
|
-
- "@sindresorhus/slugify"
|
|
6
|
-
- cyrillic-to-translit-js
|
|
7
|
-
- github-slugger
|
|
8
|
-
functionNames:
|
|
9
|
-
- slugify
|
|
10
|
-
- toSlug
|
|
11
|
-
- makeSlug
|
|
12
|
-
- createSlug
|
|
13
|
-
- slugUrl
|
|
14
|
-
- slugId
|
|
15
|
-
patterns:
|
|
16
|
-
- id: nkfd-diacritic-strip
|
|
17
|
-
regex: "\\.normalize\\(.{0,5}NFKD.{0,5}\\)\\.replace"
|
|
18
|
-
description: NFKD normalize + diacritic strip + non-alphanumeric replace (legacy custom slugify pattern)
|
|
19
|
-
allowlist:
|
|
20
|
-
- path: packages/werkstatt-shared/src/share/slug/
|
|
21
|
-
reason: Canonical slug module — owns all slug generation logic (RFC-0915, DNA-88)
|
|
22
|
-
- path: packages/werkstatt-shared/src/share/semantic/extract.ts
|
|
23
|
-
reason: CHANGE_SUMMARY comment references slugify removal — no function definition remains
|
|
24
|
-
- path: packages/werkstatt-site/src/checks/tests/utility-provenance.test.ts
|
|
25
|
-
reason: Test file intentionally contains forbidden patterns to validate the provenance validator (RFC-0916)
|
|
26
|
-
- path: packages/werkstatt-site/src/checks/utility-provenance.ts
|
|
27
|
-
reason: Validator implementation references forbidden imports/function names in string literals for detection logic (RFC-0916)
|
|
28
|
-
- id: template-filter
|
|
29
|
-
canonicalPath: packages/werkstatt-shared/src/share/routes/
|
|
30
|
-
forbiddenImports: []
|
|
31
|
-
functionNames:
|
|
32
|
-
- hasPlaceholderRoutes
|
|
33
|
-
patterns: []
|
|
34
|
-
allowlist:
|
|
35
|
-
- path: packages/werkstatt-shared/src/share/routes/
|
|
36
|
-
reason: Canonical placeholder route filter — owns all template detection logic (RFC-0917)
|
|
37
|
-
- id: remediation-catalog
|
|
38
|
-
canonicalPath: packages/werkstatt-shared/src/share/remediation/
|
|
39
|
-
forbiddenImports: []
|
|
40
|
-
functionNames:
|
|
41
|
-
- lookupRemediation
|
|
42
|
-
- REMEDIATION_CATALOG
|
|
43
|
-
patterns: []
|
|
44
|
-
allowlist:
|
|
45
|
-
- path: packages/werkstatt-shared/src/share/remediation/
|
|
46
|
-
reason: Canonical remediation catalog — owns all ruleId-to-remediation-pattern mappings (RFC-1027)
|
|
47
|
-
- path: packages/werkstatt-shared/src/checks/result-helpers.ts
|
|
48
|
-
reason: Consumes lookupRemediation to auto-populate Diagnostic.remediation (RFC-1027)
|
|
49
|
-
- path: packages/werkstatt-engine/src/remediation/
|
|
50
|
-
reason: Engine remediation module reads REMEDIATION_CATALOG for catalog.generate and hint.validate (RFC-1027)
|