@warpgogol/werkstatt-shared 0.14.1 → 0.16.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 +534 -766
- package/src/{share/agent → agent}/api-catalog.ts +14 -1
- package/src/{share/agent → agent}/ard-catalog.ts +6 -1
- package/src/{share/agent → agent}/dns-aid.test.ts +2 -2
- package/src/agent/guidance.ts +52 -0
- package/src/agent/health.ts +68 -0
- package/src/{share/agent → agent}/index.ts +5 -1
- package/src/{share/agent → agent}/manifest.ts +83 -6
- package/src/{share/agent → agent}/openapi.ts +97 -4
- package/src/agent/receipt.ts +123 -0
- package/src/{share/agent → agent}/search.test.ts +3 -0
- package/src/{share/agent → agent}/search.ts +31 -5
- package/src/{share → agent}/tests/api-catalog.test.ts +8 -2
- package/src/{share → agent}/tests/ard-catalog.test.ts +11 -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 +72 -1
- package/src/{share → agent}/tests/mcp-card.test.ts +6 -2
- package/src/{share → agent}/tests/openapi.test.ts +119 -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 +13 -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 +14 -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/idempotency.ts +88 -0
- package/src/integration/index.ts +105 -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/tests/idempotency.test.ts +81 -0
- 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/drift-guard.ts +166 -0
- package/src/kernel/fs-atomic.ts +131 -0
- package/src/kernel/index.ts +22 -0
- package/src/kernel/tests/drift-guard.test.ts +112 -0
- package/src/kernel/tests/fs-atomic.test.ts +150 -0
- package/src/kernel/tests/workpiece-env.test.ts +44 -0
- package/src/kernel/tests/workspace-io.test.ts +187 -0
- package/src/kernel/types.ts +518 -0
- package/src/kernel/workpiece-env.ts +48 -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 +11 -8
- package/src/{share/middleware → middleware}/language-redirect.ts +3 -0
- 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 +14 -1
- package/src/observability/otlp-converter.ts +6 -1
- package/src/observability/otlp-transport.ts +6 -1
- package/src/observability/pipeline-log.ts +81 -0
- 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/capabilities/lead.prepare.yaml +44 -0
- package/src/ontology/capabilities/lead.submit.yaml +20 -3
- 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 +193 -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 +108 -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 +56 -4
- 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/claim-sign.ts +120 -0
- package/src/passport/index.ts +9 -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 +2 -2
- 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 +74 -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 +51 -5
- 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 +68 -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 +15 -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 +106 -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}/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}/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}/proof.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}/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
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>Provides lightweight structured pipeline log events for build-time content helpers.</purpose>
|
|
4
|
+
<non-goals>
|
|
5
|
+
<item>Do not persist logs outside the current Node.js process.</item>
|
|
6
|
+
<item>Do not silence actionable warnings or errors.</item>
|
|
7
|
+
</non-goals>
|
|
8
|
+
</MODULE_CONTRACT>
|
|
9
|
+
<CHANGE_SUMMARY>
|
|
10
|
+
<item>RFC-0254: add structured expected-fallback log transport for build/check paths.</item>
|
|
11
|
+
</CHANGE_SUMMARY>
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export type PipelineLogSeverity = "debug" | "info" | "notice" | "warning" | "error";
|
|
15
|
+
|
|
16
|
+
export type PipelineLogKind =
|
|
17
|
+
"progress" | "expected-fallback" | "advisory" | "external-tool" | "diagnostic" | "error";
|
|
18
|
+
|
|
19
|
+
export interface PipelineLogEvent {
|
|
20
|
+
severity: PipelineLogSeverity;
|
|
21
|
+
kind: PipelineLogKind;
|
|
22
|
+
message: string;
|
|
23
|
+
command?: string;
|
|
24
|
+
pipeline?: string;
|
|
25
|
+
app?: string;
|
|
26
|
+
packageName?: string;
|
|
27
|
+
module?: string;
|
|
28
|
+
file?: string;
|
|
29
|
+
line?: number;
|
|
30
|
+
ruleId?: string;
|
|
31
|
+
dedupeKey?: string;
|
|
32
|
+
count?: number;
|
|
33
|
+
data?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
interface PipelineLogState {
|
|
37
|
+
events: PipelineLogEvent[];
|
|
38
|
+
counts: Map<string, number>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const STATE_KEY = "__gogolPipelineLogState";
|
|
42
|
+
|
|
43
|
+
function getState(): PipelineLogState {
|
|
44
|
+
const root = globalThis as typeof globalThis & { __gogolPipelineLogState?: PipelineLogState };
|
|
45
|
+
if (!root[STATE_KEY]) {
|
|
46
|
+
root[STATE_KEY] = { events: [], counts: new Map() };
|
|
47
|
+
}
|
|
48
|
+
return root[STATE_KEY];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function renderEvent(event: PipelineLogEvent, count: number): string {
|
|
52
|
+
const prefix = event.kind === "expected-fallback" ? "fallback" : event.kind;
|
|
53
|
+
const suffix = count > 1 ? ` (${count} occurrence(s))` : "";
|
|
54
|
+
return `[${event.severity}:${prefix}] ${event.message}${suffix}`;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function emitPipelineLogEvent(event: PipelineLogEvent): void {
|
|
58
|
+
const state = getState();
|
|
59
|
+
const key = event.dedupeKey ?? `${event.kind}:${event.severity}:${event.message}`;
|
|
60
|
+
const count = (state.counts.get(key) ?? 0) + 1;
|
|
61
|
+
state.counts.set(key, count);
|
|
62
|
+
state.events.push({ ...event, count });
|
|
63
|
+
|
|
64
|
+
if (event.severity === "debug") return;
|
|
65
|
+
if (event.kind === "expected-fallback" && count > 1) return;
|
|
66
|
+
|
|
67
|
+
const rendered = renderEvent(event, count);
|
|
68
|
+
if (event.severity === "error") {
|
|
69
|
+
console.error(rendered);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (event.severity === "warning") {
|
|
73
|
+
console.warn(rendered);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
console.log(rendered);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function getPipelineLogEvents(): PipelineLogEvent[] {
|
|
80
|
+
return getState().events.map((event) => ({ ...event }));
|
|
81
|
+
}
|
|
@@ -9,7 +9,12 @@
|
|
|
9
9
|
</MODULE_CONTRACT>
|
|
10
10
|
<CHANGE_SUMMARY>
|
|
11
11
|
<item>RFC-0337: initial implementation.</item>
|
|
12
|
-
<item>
|
|
12
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
13
|
+
|
|
14
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
15
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
16
|
+
|
|
17
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
13
18
|
</CHANGE_SUMMARY>
|
|
14
19
|
*/
|
|
15
20
|
|
|
@@ -8,7 +8,12 @@
|
|
|
8
8
|
</MODULE_CONTRACT>
|
|
9
9
|
<CHANGE_SUMMARY>
|
|
10
10
|
<item>RFC-0337: initial implementation.</item>
|
|
11
|
-
<item>
|
|
11
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
12
|
+
|
|
13
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
14
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
15
|
+
|
|
16
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
12
17
|
</CHANGE_SUMMARY>
|
|
13
18
|
*/
|
|
14
19
|
|
|
@@ -8,9 +8,13 @@
|
|
|
8
8
|
@ai-invariant: METRIC_REFS keys must match WARPGOGOL_METRIC_REGISTRY names exactly — enforced by compile-time type assertion below.
|
|
9
9
|
</MODULE_CONTRACT>
|
|
10
10
|
<CHANGE_SUMMARY>
|
|
11
|
-
<item>Add typed metric references for compile-time label-key enforcement across all consumers.</item>
|
|
12
|
-
<item>wg-review: correct non-goals, add compile-time registry-coverage assertion.</item>
|
|
13
11
|
<item>RFC-0807: add back prefix metric refs for service health monitoring.</item>
|
|
12
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
13
|
+
|
|
14
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
15
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
16
|
+
|
|
17
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
14
18
|
</CHANGE_SUMMARY>
|
|
15
19
|
*/
|
|
16
20
|
|
|
@@ -5,7 +5,7 @@ scans text for =(...) formula expressions, and evaluates arithmetic over content
|
|
|
5
5
|
using a sandboxed math parser (expr-eval). RFC-0729: pipe syntax for post-evaluation formatting,
|
|
6
6
|
plugin-registration formatter registry, and money formatter built on Intl.NumberFormat.</purpose>
|
|
7
7
|
<non-goals>
|
|
8
|
-
<item>Do not resolve content references directly — use resolveReference from @warpgogol/werkstatt-shared/
|
|
8
|
+
<item>Do not resolve content references directly — use resolveReference from @warpgogol/werkstatt-shared/content/content-reference.</item>
|
|
9
9
|
<item>Do not support non-arithmetic expressions (string concatenation, conditionals, date math).</item>
|
|
10
10
|
<item>Do not add formatters other than money — date, percent, unit formatters are follow-up RFCs.</item>
|
|
11
11
|
</non-goals>
|
|
@@ -19,8 +19,8 @@ plugin-registration formatter registry, and money formatter built on Intl.Number
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import { Parser } from "expr-eval";
|
|
22
|
-
import type { ContentRefIndex, SourceRef } from "
|
|
23
|
-
import { resolveReference } from "
|
|
22
|
+
import type { ContentRefIndex, SourceRef } from "../content/content-reference.ts";
|
|
23
|
+
import { resolveReference } from "../content/content-reference.ts";
|
|
24
24
|
|
|
25
25
|
export interface FormulaResolution {
|
|
26
26
|
value: string;
|
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
registerPipeFormatter,
|
|
14
14
|
getPipeFormatter,
|
|
15
15
|
} from "../formula-eval.ts";
|
|
16
|
-
import type { ContentRefIndex, SourceRef } from "
|
|
17
|
-
import { EMPTY_CONTENT_REF_INDEX } from "
|
|
16
|
+
import type { ContentRefIndex, SourceRef } from "../../content/content-reference.ts";
|
|
17
|
+
import { EMPTY_CONTENT_REF_INDEX } from "../../content/content-reference.ts";
|
|
18
18
|
|
|
19
19
|
describe("extractNumeric", () => {
|
|
20
20
|
it("extracts number from string with currency suffix", () => {
|
package/src/onboarding/index.ts
CHANGED
|
@@ -14,7 +14,12 @@ fast instead of producing silently empty maps.
|
|
|
14
14
|
<CHANGE_SUMMARY>
|
|
15
15
|
<item>RFC-0091: Initial creation — typed re-export of derived archetype registry maps.</item>
|
|
16
16
|
<item>RFC-0263: also re-export roleByCosmicName (manifest-authored role, derived) — replaces name-keyed dispatch literals in packages/share.</item>
|
|
17
|
-
<item>
|
|
17
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
18
|
+
|
|
19
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
20
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
21
|
+
|
|
22
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
18
23
|
</CHANGE_SUMMARY>
|
|
19
24
|
*/
|
|
20
25
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"totalCount":
|
|
3
|
+
"totalCount": 61,
|
|
4
4
|
"entries": [
|
|
5
5
|
{
|
|
6
6
|
"id": "approach",
|
|
@@ -182,6 +182,30 @@
|
|
|
182
182
|
"sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/dynamic-status-block.yaml",
|
|
183
183
|
"layer": "section"
|
|
184
184
|
},
|
|
185
|
+
{
|
|
186
|
+
"id": "entity-grid",
|
|
187
|
+
"displayName": "Engineering entity grid",
|
|
188
|
+
"semanticRole": "entity-composition-grid",
|
|
189
|
+
"version": "1.0.0",
|
|
190
|
+
"layoutHint": "card-grid",
|
|
191
|
+
"acceptedCosmicNames": [
|
|
192
|
+
"Ixion"
|
|
193
|
+
],
|
|
194
|
+
"sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/entity-grid.yaml",
|
|
195
|
+
"layer": "section"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"id": "exit-diagram",
|
|
199
|
+
"displayName": "Exit-process diagram",
|
|
200
|
+
"semanticRole": "exit-flow-visualization",
|
|
201
|
+
"version": "1.0.0",
|
|
202
|
+
"layoutHint": "single-column",
|
|
203
|
+
"acceptedCosmicNames": [
|
|
204
|
+
"Haumea"
|
|
205
|
+
],
|
|
206
|
+
"sourceFile": "packages/werkstatt-site/src/domain/ontology/archetypes/sections/exit-diagram.yaml",
|
|
207
|
+
"layer": "section"
|
|
208
|
+
},
|
|
185
209
|
{
|
|
186
210
|
"id": "faq-list",
|
|
187
211
|
"displayName": "Faq List",
|
|
@@ -723,7 +747,9 @@
|
|
|
723
747
|
"data-driven-status-indicator",
|
|
724
748
|
"donation-card",
|
|
725
749
|
"donation-use",
|
|
750
|
+
"entity-composition-grid",
|
|
726
751
|
"exit-clause-disclosure",
|
|
752
|
+
"exit-flow-visualization",
|
|
727
753
|
"faq-list",
|
|
728
754
|
"final-cta",
|
|
729
755
|
"hero",
|
|
@@ -788,6 +814,8 @@
|
|
|
788
814
|
"Pandora": "@warpgogol/werkstatt-site/ui/sections/donation-card",
|
|
789
815
|
"Rhea": "@warpgogol/werkstatt-site/ui/sections/donation-use",
|
|
790
816
|
"Elara": "@warpgogol/werkstatt-site/ui/sections/dynamic-status-block",
|
|
817
|
+
"Ixion": "@warpgogol/werkstatt-site/ui/sections/entity-grid",
|
|
818
|
+
"Haumea": "@warpgogol/werkstatt-site/ui/sections/exit-diagram",
|
|
791
819
|
"Atlas": "@warpgogol/werkstatt-site/ui/sections/faq-list",
|
|
792
820
|
"Dione": "@warpgogol/werkstatt-site/ui/sections/final-cta",
|
|
793
821
|
"Gonggong": "@warpgogol/werkstatt-site/ui/sections/gratitude",
|
|
@@ -867,6 +895,8 @@
|
|
|
867
895
|
"donation-card": "Pandora",
|
|
868
896
|
"donation-use": "Rhea",
|
|
869
897
|
"dynamic-status-block": "Elara",
|
|
898
|
+
"entity-grid": "Ixion",
|
|
899
|
+
"exit-diagram": "Haumea",
|
|
870
900
|
"faq-list": "Atlas",
|
|
871
901
|
"final-cta": "Dione",
|
|
872
902
|
"gratitude": "Gonggong",
|
|
@@ -950,6 +980,8 @@
|
|
|
950
980
|
"Pandora": "donation-use",
|
|
951
981
|
"Rhea": "donation-use",
|
|
952
982
|
"Elara": "data-driven-status-indicator",
|
|
983
|
+
"Ixion": "entity-composition-grid",
|
|
984
|
+
"Haumea": "exit-flow-visualization",
|
|
953
985
|
"Atlas": "approach",
|
|
954
986
|
"Dione": "final-cta",
|
|
955
987
|
"Gonggong": "client-gratitude",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
schemaVersion: 1.0.0
|
|
2
|
-
totalCount:
|
|
2
|
+
totalCount: 61
|
|
3
3
|
entries:
|
|
4
4
|
- id: approach
|
|
5
5
|
displayName: Approach
|
|
@@ -136,6 +136,24 @@ entries:
|
|
|
136
136
|
- Elara
|
|
137
137
|
sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/dynamic-status-block.yaml
|
|
138
138
|
layer: section
|
|
139
|
+
- id: entity-grid
|
|
140
|
+
displayName: Engineering entity grid
|
|
141
|
+
semanticRole: entity-composition-grid
|
|
142
|
+
version: 1.0.0
|
|
143
|
+
layoutHint: card-grid
|
|
144
|
+
acceptedCosmicNames:
|
|
145
|
+
- Ixion
|
|
146
|
+
sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/entity-grid.yaml
|
|
147
|
+
layer: section
|
|
148
|
+
- id: exit-diagram
|
|
149
|
+
displayName: Exit-process diagram
|
|
150
|
+
semanticRole: exit-flow-visualization
|
|
151
|
+
version: 1.0.0
|
|
152
|
+
layoutHint: single-column
|
|
153
|
+
acceptedCosmicNames:
|
|
154
|
+
- Haumea
|
|
155
|
+
sourceFile: packages/werkstatt-site/src/domain/ontology/archetypes/sections/exit-diagram.yaml
|
|
156
|
+
layer: section
|
|
139
157
|
- id: faq-list
|
|
140
158
|
displayName: Faq List
|
|
141
159
|
semanticRole: faq-list
|
|
@@ -544,7 +562,9 @@ sectionRoles:
|
|
|
544
562
|
- data-driven-status-indicator
|
|
545
563
|
- donation-card
|
|
546
564
|
- donation-use
|
|
565
|
+
- entity-composition-grid
|
|
547
566
|
- exit-clause-disclosure
|
|
567
|
+
- exit-flow-visualization
|
|
548
568
|
- faq-list
|
|
549
569
|
- final-cta
|
|
550
570
|
- hero
|
|
@@ -607,6 +627,8 @@ planetImportPaths:
|
|
|
607
627
|
Pandora: "@warpgogol/werkstatt-site/ui/sections/donation-card"
|
|
608
628
|
Rhea: "@warpgogol/werkstatt-site/ui/sections/donation-use"
|
|
609
629
|
Elara: "@warpgogol/werkstatt-site/ui/sections/dynamic-status-block"
|
|
630
|
+
Ixion: "@warpgogol/werkstatt-site/ui/sections/entity-grid"
|
|
631
|
+
Haumea: "@warpgogol/werkstatt-site/ui/sections/exit-diagram"
|
|
610
632
|
Atlas: "@warpgogol/werkstatt-site/ui/sections/faq-list"
|
|
611
633
|
Dione: "@warpgogol/werkstatt-site/ui/sections/final-cta"
|
|
612
634
|
Gonggong: "@warpgogol/werkstatt-site/ui/sections/gratitude"
|
|
@@ -685,6 +707,8 @@ blockTypeToCosmicName:
|
|
|
685
707
|
donation-card: Pandora
|
|
686
708
|
donation-use: Rhea
|
|
687
709
|
dynamic-status-block: Elara
|
|
710
|
+
entity-grid: Ixion
|
|
711
|
+
exit-diagram: Haumea
|
|
688
712
|
faq-list: Atlas
|
|
689
713
|
final-cta: Dione
|
|
690
714
|
gratitude: Gonggong
|
|
@@ -766,6 +790,8 @@ roleByCosmicName:
|
|
|
766
790
|
Pandora: donation-use
|
|
767
791
|
Rhea: donation-use
|
|
768
792
|
Elara: data-driven-status-indicator
|
|
793
|
+
Ixion: entity-composition-grid
|
|
794
|
+
Haumea: exit-flow-visualization
|
|
769
795
|
Atlas: approach
|
|
770
796
|
Dione: final-cta
|
|
771
797
|
Gonggong: client-gratitude
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
id: entity-grid
|
|
2
|
+
displayName: Engineering entity grid
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
semanticRole: entity-composition-grid
|
|
5
|
+
description: |
|
|
6
|
+
Engineering-style entity composition grid with numbered markers and
|
|
7
|
+
boundaries. No glass effects. RFC-1062.
|
|
8
|
+
expectedIntents:
|
|
9
|
+
- trust
|
|
10
|
+
- legal-clarity
|
|
11
|
+
- de-risk
|
|
12
|
+
expectedIndustryFit:
|
|
13
|
+
- trades-and-construction
|
|
14
|
+
- consulting-and-coaching
|
|
15
|
+
- legal-services
|
|
16
|
+
layoutHint: card-grid
|
|
17
|
+
bodyKind: composite
|
|
18
|
+
recommendedItemCount:
|
|
19
|
+
min: 2
|
|
20
|
+
max: 8
|
|
21
|
+
propsSchema:
|
|
22
|
+
$shape: zod
|
|
23
|
+
compose:
|
|
24
|
+
- section-header
|
|
25
|
+
shape: |
|
|
26
|
+
z.object({
|
|
27
|
+
background: z.object({
|
|
28
|
+
kind: z.enum(["transparent", "solid"]),
|
|
29
|
+
}).optional(),
|
|
30
|
+
density: z.enum(["compact", "normal"]).optional(),
|
|
31
|
+
body: z.object({
|
|
32
|
+
kind: z.literal("grid"),
|
|
33
|
+
columns: z.union([z.literal(2), z.literal(3), z.literal(4)]),
|
|
34
|
+
items: z.array(z.object({
|
|
35
|
+
number: z.string().min(1),
|
|
36
|
+
title: z.string().min(1),
|
|
37
|
+
description: z.string().min(1),
|
|
38
|
+
})).min(2).max(8),
|
|
39
|
+
}),
|
|
40
|
+
}).strict()
|
|
41
|
+
acceptedCosmicNames:
|
|
42
|
+
- Ixion
|
|
43
|
+
constraints:
|
|
44
|
+
forbidPhrases:
|
|
45
|
+
- alle Branchen
|
|
46
|
+
- jeder Kunde
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
id: exit-diagram
|
|
2
|
+
displayName: Exit-process diagram
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
semanticRole: exit-flow-visualization
|
|
5
|
+
description: |
|
|
6
|
+
Static SVG exit-process flow diagram. Renders stages as a visual flow
|
|
7
|
+
(linear or loop) with numbered markers. RFC-1062.
|
|
8
|
+
expectedIntents:
|
|
9
|
+
- trust
|
|
10
|
+
- legal-clarity
|
|
11
|
+
- de-risk
|
|
12
|
+
expectedIndustryFit:
|
|
13
|
+
- trades-and-construction
|
|
14
|
+
- consulting-and-coaching
|
|
15
|
+
- legal-services
|
|
16
|
+
layoutHint: single-column
|
|
17
|
+
bodyKind: composite
|
|
18
|
+
recommendedItemCount:
|
|
19
|
+
min: 2
|
|
20
|
+
max: 6
|
|
21
|
+
propsSchema:
|
|
22
|
+
$shape: zod
|
|
23
|
+
compose:
|
|
24
|
+
- section-visual
|
|
25
|
+
- section-header
|
|
26
|
+
shape: |
|
|
27
|
+
z.object({
|
|
28
|
+
ariaLabel: z.string().min(1).optional(),
|
|
29
|
+
stages: z.array(z.object({
|
|
30
|
+
number: z.string().min(1),
|
|
31
|
+
title: z.string().min(1),
|
|
32
|
+
description: z.string().min(1),
|
|
33
|
+
})).min(2).max(6),
|
|
34
|
+
variant: z.enum(["linear", "loop"]),
|
|
35
|
+
}).strict()
|
|
36
|
+
acceptedCosmicNames:
|
|
37
|
+
- Haumea
|
|
38
|
+
constraints:
|
|
39
|
+
forbidPhrases:
|
|
40
|
+
- Evakuierung
|
|
41
|
+
- Notfall
|
|
42
|
+
mandatoryConcepts:
|
|
43
|
+
- Notausgang
|
|
@@ -12,7 +12,12 @@ divergent copies of the same mapping.
|
|
|
12
12
|
</non-goals>
|
|
13
13
|
</MODULE_CONTRACT>
|
|
14
14
|
<CHANGE_SUMMARY>
|
|
15
|
-
<item>
|
|
15
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
16
|
+
|
|
17
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
18
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
19
|
+
|
|
20
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
16
21
|
</CHANGE_SUMMARY>
|
|
17
22
|
*/
|
|
18
23
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
id: lead.prepare
|
|
2
|
+
version: 1
|
|
3
|
+
kind: action
|
|
4
|
+
sideEffect: none
|
|
5
|
+
title:
|
|
6
|
+
de: Anfrage prüfen
|
|
7
|
+
en: Preview a lead
|
|
8
|
+
description:
|
|
9
|
+
de: "Prüft eine Kontaktanfrage (Name, E-Mail, Nachricht) ohne sie abzusenden — liefert eine draftId, die als Idempotency-Key eines späteren lead.submit dient. Nebenwirkungsfrei: es wird nichts zugestellt."
|
|
10
|
+
en: "Validates a contact request (name, email, message) without submitting it — returns a draftId usable as the Idempotency-Key of a later lead.submit. Side-effect-free: nothing is dispatched."
|
|
11
|
+
input:
|
|
12
|
+
type: object
|
|
13
|
+
required: [name, email, message]
|
|
14
|
+
additionalProperties: false
|
|
15
|
+
properties:
|
|
16
|
+
name:
|
|
17
|
+
type: string
|
|
18
|
+
minLength: 1
|
|
19
|
+
maxLength: 200
|
|
20
|
+
email:
|
|
21
|
+
type: string
|
|
22
|
+
format: email
|
|
23
|
+
maxLength: 254
|
|
24
|
+
message:
|
|
25
|
+
type: string
|
|
26
|
+
minLength: 1
|
|
27
|
+
maxLength: 5000
|
|
28
|
+
output:
|
|
29
|
+
type: object
|
|
30
|
+
required: [valid, draftId]
|
|
31
|
+
additionalProperties: false
|
|
32
|
+
properties:
|
|
33
|
+
valid:
|
|
34
|
+
type: boolean
|
|
35
|
+
draftId:
|
|
36
|
+
type: string
|
|
37
|
+
minLength: 71
|
|
38
|
+
maxLength: 71
|
|
39
|
+
requires:
|
|
40
|
+
entitlements: [agent.actions]
|
|
41
|
+
sections: [send-message]
|
|
42
|
+
limits:
|
|
43
|
+
perMinutePerIp: 10
|
|
44
|
+
maxPayloadBytes: 10240
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
id: lead.submit
|
|
2
|
-
version:
|
|
2
|
+
version: 2
|
|
3
3
|
kind: action
|
|
4
|
+
sideEffect: write
|
|
4
5
|
title:
|
|
5
6
|
de: Anfrage senden
|
|
6
7
|
en: Submit a lead
|
|
@@ -26,11 +27,22 @@ input:
|
|
|
26
27
|
maxLength: 5000
|
|
27
28
|
output:
|
|
28
29
|
type: object
|
|
29
|
-
required: [
|
|
30
|
+
required: [receiptId, status, duplicate, submittedAt]
|
|
30
31
|
additionalProperties: false
|
|
31
32
|
properties:
|
|
32
|
-
|
|
33
|
+
receiptId:
|
|
34
|
+
type: string
|
|
35
|
+
format: uuid
|
|
36
|
+
status:
|
|
37
|
+
type: string
|
|
38
|
+
minLength: 1
|
|
39
|
+
maxLength: 16
|
|
40
|
+
duplicate:
|
|
33
41
|
type: boolean
|
|
42
|
+
submittedAt:
|
|
43
|
+
type: string
|
|
44
|
+
minLength: 20
|
|
45
|
+
maxLength: 32
|
|
34
46
|
integration:
|
|
35
47
|
eventKind: lead
|
|
36
48
|
source: agent
|
|
@@ -42,3 +54,8 @@ humanEquivalent:
|
|
|
42
54
|
limits:
|
|
43
55
|
perMinutePerIp: 3
|
|
44
56
|
maxPayloadBytes: 10240
|
|
57
|
+
agentGuidance:
|
|
58
|
+
sideEffect: write
|
|
59
|
+
whenToUse: "a visitor wants to contact the business — a question, a request, or a booking inquiry that needs a human reply."
|
|
60
|
+
whenNotToUse: "the visitor only needs information already published on the site — answer from the knowledge files or search instead of creating a lead."
|
|
61
|
+
retrySemantics: "safe to retry with the same Idempotency-Key — a repeated submission returns the original receipt instead of creating a duplicate lead."
|
|
@@ -11,7 +11,12 @@ so consumers can import from a single entry point (DNA-23, RFC-0025).
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>
|
|
14
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
15
|
+
|
|
16
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
17
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
18
|
+
|
|
19
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
15
20
|
</CHANGE_SUMMARY>
|
|
16
21
|
*/
|
|
17
22
|
|
|
@@ -17,7 +17,12 @@ The inner/classical Jupiter and Saturn moons are in PlanetCatalog (section arche
|
|
|
17
17
|
</non-goals>
|
|
18
18
|
</MODULE_CONTRACT>
|
|
19
19
|
<CHANGE_SUMMARY>
|
|
20
|
-
<item>
|
|
20
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
21
|
+
|
|
22
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
23
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
24
|
+
|
|
25
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
21
26
|
</CHANGE_SUMMARY>
|
|
22
27
|
*/
|
|
23
28
|
|
|
@@ -17,7 +17,12 @@ are in MoonCatalog (component archetypes).
|
|
|
17
17
|
</non-goals>
|
|
18
18
|
</MODULE_CONTRACT>
|
|
19
19
|
<CHANGE_SUMMARY>
|
|
20
|
-
<item>
|
|
20
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
21
|
+
|
|
22
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
23
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
24
|
+
|
|
25
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
21
26
|
</CHANGE_SUMMARY>
|
|
22
27
|
*/
|
|
23
28
|
|
|
@@ -11,7 +11,12 @@ Each entry is a valid cosmicName for manifests with layer="page" (DNA-23, RFC-00
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>
|
|
14
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
15
|
+
|
|
16
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
17
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
18
|
+
|
|
19
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
15
20
|
</CHANGE_SUMMARY>
|
|
16
21
|
*/
|
|
17
22
|
|
package/src/ontology/enums.ts
CHANGED
|
@@ -14,7 +14,12 @@ enums (for runtime validation) and TypeScript types (for static typing).
|
|
|
14
14
|
</non-goals>
|
|
15
15
|
</MODULE_CONTRACT>
|
|
16
16
|
<CHANGE_SUMMARY>
|
|
17
|
-
<item>
|
|
17
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
18
|
+
|
|
19
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
20
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
21
|
+
|
|
22
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
18
23
|
</CHANGE_SUMMARY>
|
|
19
24
|
*/
|
|
20
25
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<purpose>
|
|
4
4
|
RFC-0480: Declarative Layer C external-surface contracts — URL schema,
|
|
5
5
|
JSON-LD types, and sitemap shape. Consumed by `surface.contract.validate`
|
|
6
|
-
in @warpgogol/site-kernel-handoff and by contract tests in @warpgogol/werkstatt-shared
|
|
6
|
+
in @warpgogol/site-kernel-handoff and by contract tests in @warpgogol/werkstatt-shared.
|
|
7
7
|
</purpose>
|
|
8
8
|
<non-goals>
|
|
9
9
|
<item>Do not generate C-surfaces here — this module only declares the contract.</item>
|
package/src/ontology/index.ts
CHANGED
|
@@ -11,8 +11,12 @@ package root or sub-paths.
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>
|
|
15
|
-
|
|
14
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
15
|
+
|
|
16
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
17
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
18
|
+
|
|
19
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
16
20
|
</CHANGE_SUMMARY>
|
|
17
21
|
*/
|
|
18
22
|
|