{"_id":"@bpmsoftwaresolutions/appture","name":"@bpmsoftwaresolutions/appture","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bpmsoftwaresolutions/appture","version":"1.0.0","description":"Layout intent validation and materialization pipeline. DISR + CST -> validated HTML with IEM scoring.","keywords":["layout","disr","cst","html","validation","intent","iem"],"license":"MIT","main":"dist/src/index.js","types":"dist/src/index.d.ts","bin":{"appture":"dist/src/cli-package.js"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"scripts":{"guardrails:compiler":"node ./scripts/check-compiler-guardrails.js","guardrails:baseline":"node ./scripts/check-demo-baseline-regression.js","iem:calibration":"node ./scripts/check-iem-calibration.js","ci:local":"npm run guardrails:compiler && npm run build && npm run appture:all && npm run iem:calibration && npm run guardrails:baseline","build":"tsc -p tsconfig.json && node ./scripts/copy-grammar-assets.js","prepublishOnly":"npm run build","appture":"ts-node src/cli.ts","appture:all":"ts-node src/cli.ts all"},"devDependencies":{"@types/node":"^25.3.4","ts-node":"^10.9.2","typescript":"^5.9.3"},"_id":"@bpmsoftwaresolutions/appture@1.0.0","gitHead":"c2782ae1549224a2fc602c966de9d7144f5fd210","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-09VD9vUKlH/GRfIU8hKO2q3E8iEmU28aoHEDnIGU+QM8tYAdzgdnEJWXKE9ZOT5qZQ7Y2zk4mIPGHOuzDCV3lQ==","shasum":"3004fd4d51f944aef7e8cf22a7667bd144513397","tarball":"https://registry.npmjs.org/@bpmsoftwaresolutions/appture/-/appture-1.0.0.tgz","fileCount":125,"unpackedSize":315222,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCF4YzEAFmEPc7E0piCxs0UoQu6g/deZM6mZS5kfPYWmwIhAOjwZLdr6wMoWJipaxS4bEyMpTHOyXtfzGFVJEvnx8YR"}]},"_npmUser":{"name":"bpmsoftwaresolutions","email":"sjones@bpmsoftwaresolutions.com"},"directories":{},"maintainers":[{"name":"bpmsoftwaresolutions","email":"sjones@bpmsoftwaresolutions.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/appture_1.0.0_1772888823627_0.3585167446229174"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-07T13:07:03.530Z","1.0.0":"2026-03-07T13:07:03.774Z","modified":"2026-03-07T13:07:03.976Z"},"maintainers":[{"name":"bpmsoftwaresolutions","email":"sjones@bpmsoftwaresolutions.com"}],"description":"Layout intent validation and materialization pipeline. DISR + CST -> validated HTML with IEM scoring.","keywords":["layout","disr","cst","html","validation","intent","iem"],"license":"MIT","readme":"# Appture\r\n\r\nAppture is the production DISR/CST validation and materialization pipeline.\r\n\r\n## Core Concepts (DISR and CST)\r\n\r\n- **DISR (Diagram Instruction Stream)**\r\n  - The model of meaning/intent.\r\n  - Serves as the canonical reference model.\r\n  - Acts as anti-drift source-of-truth for what the system is supposed to express.\r\n\r\n- **CST (Composable Semantic Template)**\r\n  - The execution plan for how DISR truth is revealed.\r\n  - Defines how intent is materialized into concrete renderable outputs.\r\n  - Targets can include HTML, CSS, SVG, JavaScript, ReactJS, Node, XAML, workflows, and other renderable/runtime surfaces.\r\n\r\nCore closed loop:\r\n\r\n`DISR + CST -> HTML`\r\n\r\nValidation checks:\r\n- `grammar-contract`\r\n- `disr-to-cst`\r\n- `cst-to-output`\r\n- `disr-to-output`\r\n- `intent-expression`\r\n\r\n## Architecture (Current)\r\n\r\nAppture is organized as hard-cut stages:\r\n\r\n1. **Fetch**\r\n   - load DISR text\r\n   - load CST JSON\r\n   - load external grammar profile\r\n2. **Decode**\r\n   - merge grammar/profile + CST decode contract\r\n   - enforce DISR boundary rules\r\n   - parse DISR intent\r\n   - validate grammar contract\r\n3. **Execute**\r\n   - validate DISR-to-CST topology\r\n   - materialize HTML from CST + intent primitives\r\n   - compute intent-expression scoring\r\n4. **Write-back**\r\n   - validate CST-to-output and DISR-to-output\r\n   - write HTML artifact\r\n   - write evidence artifact\r\n\r\nThe pipeline entrypoint is `src/pipeline.ts`.\r\n\r\n## Source Layout\r\n\r\n- `src/types.ts` — shared contracts and model types\r\n- `src/core/`\r\n  - `html-inspector.ts`\r\n  - `interpolator.ts`\r\n  - `topology-indexer.ts`\r\n- `src/fetch/`\r\n  - `disr-sampler.ts`\r\n  - `cst-sampler.ts`\r\n  - `grammar-sampler.ts`\r\n- `src/decode/`\r\n  - `boundary-guard.ts`\r\n  - `disr-decoder.ts`\r\n  - `grammar-resolver.ts`\r\n  - `grammar-contract-validator.ts`\r\n- `src/execute/`\r\n  - `topology-validator.ts`\r\n  - `materializer.ts`\r\n  - `iem-scorer.ts`\r\n- `src/write-back/`\r\n  - `output-validator.ts`\r\n  - `output-writer.ts`\r\n- `src/pipeline.ts` — pipeline orchestrator\r\n- `src/index.ts` — public export surface\r\n- `src/cli.ts` — CLI runner\r\n\r\n## Demos and Artifacts\r\n\r\n- `demos/demo-manifest.json` defines demo order and metadata.\r\n- `demos/<demo>/` contains source files and generated outputs:\r\n  - `*-output.html`\r\n  - `*-evidence.txt`\r\n- `demos/.baseline/` stores baseline snapshots and hash manifests for no-regression verification.\r\n\r\n## CLI Usage\r\n\r\nRun from the repository root:\r\n\r\n- `npm run build`\r\n- `npm run appture -- all`\r\n- `npm run appture -- <demo-name>`\r\n\r\nExample demo names are in `demos/demo-manifest.json`.\r\n\r\n## Build Note (Grammar Assets)\r\n\r\nBuild now includes a grammar asset copy step so runtime profile loading works from `dist/`:\r\n\r\n- `npm run build` runs TypeScript compilation and copies `grammar/` to `dist/grammar/`.\r\n- Copy script: `scripts/copy-grammar-assets.js`\r\n\r\n## Behavior Notes\r\n\r\n- Decode behavior is data-driven via `renderingContract.decodeContract` and optional external grammar profiles.\r\n- DISR boundary guardrails are enforced before parsing.\r\n- Primitive rendering is template-map driven and checked for materialization coverage.\r\n- Demo suite status follows current baseline truth; no-regression is validated using baseline evidence/HTML hashes.\r\n\r\n","readmeFilename":"README.md","_rev":"1-a3ca4294462d14e9c12a61134ccc8b0b"}