# Curtain-wall to floor-edge reference package

Status: working-group fixture

Version: 0.1.0

Normative: no
Engineering approval: no

This folder turns the curtain-wall discussion into a complete, inspectable package. It covers one panel interface across three substrate branches:

- Reinforced-concrete slab edge
- CLT floor edge
- Steel edge beam and slab support

Each branch has two simulated connector candidates and three project contexts: coordination-valid, invalid, and indeterminate. The package includes product projections, a CIS projection, candidate geometry, nested applicability rules, hard gates, deterministic ranking, evidence, receipts, selected valid geometry, and a human-readable report.

The steel valid scenario deliberately demonstrates the nested filter: the bolted option is eligible, while the welded option is not applicable because that project context prohibits field welding. A valid scenario therefore needs at least one eligible candidate, not every catalog candidate.

Every scenario has exactly seven stage-aligned receipts: schema integrity, interface compatibility, geometry mating, candidate applicability, deterministic hard gate, scored ranking, and qualified handoff. That produces 63 receipts across the nine scenarios. Each stage points to one receipt with the same scenario, stage, and status, including explicit `not_evaluated` receipts for stages that did not run.

Nothing here changes CTO or CIS. The panel projection now carries only the YKK AP YCU 750 TU identity, 7.5-inch frame depth, 2.5-inch sightline, 1-inch-glass option, named anchor components, and authority boundaries supported by the linked public manufacturer sources. Its configured width, height, weight, point coordinates, loads, reactions, anchor schedule, project facts, and approvals remain missing. Substrate products, connection candidates, project dimensions, limits, demands, scores, and evaluation results remain invented for discussion.

## Classification labels

- `current_spec`: a concept or field pattern already described by CTO v0.2.0 or CIS v0.1.3
- `working_proposal`: an application-owned structure being tested
- `illustrative_value`: simulated data used to make the example concrete
- `open_decision`: a question the working group has not resolved

The labels describe field status. They do not turn a simulated value into an approved product or calculation.

## Important mating boundary

The working `interface_family` idea does not replace the current mating contract. This package first records:

1. Same CIS identifier
2. Compatible CIS version
3. Complementary sides
4. An asserted port-alignment fact
5. Registered connection-signature compatibility
6. Declared product face oriented toward the plane

Only after those checks and the simplified geometry checks pass does the application inspect material-specific connector candidates.

Where the compatible connector-family declaration should ultimately live remains open. This fixture keeps it in an application-owned catalog so the group can test the workflow without silently extending CTO or CIS.

## Geometry accuracy boundary

The package contains exact occupied envelopes, interface-local port coordinates, candidate footprint boxes, access boxes, keep-out boxes, penetration boxes, and observation boxes. It does not contain fabrication profiles, fastener diameters or spacing, reinforcing, exact CLT ply geometry, a steel section designation, panel internals, or manufacturer models.

The original nine-scenario package does not yet materialize a candidate-to-product transform or one shared connection coordinate frame. `placed_offset_mm` is recorded as illustrative metadata and is not applied to the footprint origins by that evaluator. Its connection engine pairs port identifiers and registered signatures, but the scenario set still carries gap, normal misalignment, and overlap as illustrative facts.

The newer [`golden-thread/concrete-slab-edge.reference-transaction.v0.2.0.json`](./golden-thread/concrete-slab-edge.reference-transaction.v0.2.0.json) closes that specific implementation gap for one narrow condition. It declares panel and substrate local frames, rigid transforms, attachment rectangles, and port points in a shared millimetre frame. The reference evaluator derives plane gap, opposed-normal error, attachment-zone overlap, and in-plane port offset at runtime. This is a computation demonstration, not evidence that the illustrative geometry describes a manufacturer product or real project.

Graphics must therefore keep two layers visibly distinct:

- Data-derived envelope drawings, with exact package IDs, origins, and dimensions
- Ghosted component symbols that explain the physical idea but are not manufacturer or fabrication geometry

The working visualization convention is X along the floor edge, Y vertical, and Z from substrate toward panel. Panel, substrate, and candidate coordinates remain separate local frames until the working group adopts explicit transform rules.

## Read in this order

1. [`golden-thread/concrete-slab-edge.reference-transaction.v0.2.0.json`](./golden-thread/concrete-slab-edge.reference-transaction.v0.2.0.json) for the narrow, swappable transaction, owner/evidence matrix, transforms, and five software-evidence checkpoints
2. [`source-data/manufacturer-source-manifest.v0.1.0.json`](./source-data/manufacturer-source-manifest.v0.1.0.json) for the selected YKK AP source candidate, comparison systems, official links, authority boundaries, and missing project inputs
3. [`reference-package.v0.1.0.json`](./reference-package.v0.1.0.json) for the broader three-material boundary register, variable dictionary, and links
4. [`results/human-readable-report.md`](./results/human-readable-report.md) for the plain-language nine-scenario walkthrough
5. [`interfaces/WG-CW-SLAB-EDGE-001.v0.1.0.cis`](./interfaces/WG-CW-SLAB-EDGE-001.v0.1.0.cis) for the two-sided connection-plane projection
6. [`catalogs/connector-candidates.v0.1.0.json`](./catalogs/connector-candidates.v0.1.0.json) for the six physical candidate descriptions and rule trees
7. [`sidecars/project-contexts.v0.1.0.json`](./sidecars/project-contexts.v0.1.0.json) for all nine illustrative scenarios
8. [`results/evaluation-results.v0.1.0.json`](./results/evaluation-results.v0.1.0.json) and [`results/evaluation-receipts.v0.1.0.json`](./results/evaluation-receipts.v0.1.0.json) for outputs and evidence-backed findings
9. [`bundle-manifest.v0.1.0.json`](./bundle-manifest.v0.1.0.json) for every materialized public artifact

## Physical candidate summary

| Branch | Candidate | Panel-side footprint | Substrate-side footprint | Adjustment | Required access |
|---|---|---:|---:|---:|---:|
| Concrete | Cast-in channel | 300 x 220 x 90 mm | 450 x 180 x 75 mm | ±25 / ±20 / ±30 mm | 500 x 350 x 400 mm |
| Concrete | Post-installed angle | 320 x 240 x 100 mm | 360 x 260 x 120 mm | ±30 / ±20 / ±35 mm | 550 x 400 x 450 mm |
| CLT | Screw angle | 320 x 220 x 95 mm | 420 x 260 x 160 mm | ±25 / ±18 / ±30 mm | 520 x 380 x 420 mm |
| CLT | Concealed plate | 340 x 230 x 85 mm | 440 x 300 x 180 mm | ±20 / ±15 / ±20 mm | 600 x 450 x 500 mm |
| Steel | Bolted shelf angle | 330 x 230 x 100 mm | 400 x 260 x 90 mm | ±30 / ±20 / ±30 mm | 560 x 400 x 450 mm |
| Steel | Welded plate | 340 x 240 x 100 mm | 420 x 300 x 80 mm | ±25 / ±18 / ±25 mm | 700 x 500 x 550 mm |

Every candidate also declares a keep-out zone and a penetration or fabrication zone. These are illustrative envelopes, not shop geometry.

## Outcome semantics

- `valid`: all checks required for the stated coordination scope ran and passed, with at least one eligible candidate
- `invalid`: a deterministic check ran and failed
- `indeterminate`: a check ran but lacked required facts
- `not_applicable`: a conclusive rule established that a candidate or domain does not apply
- `not_evaluated`: the stage or qualified adapter did not run

Material, facade, structural, fire, seismic, anchor, timber, bolt, and weld engineering are `not_evaluated` in every scenario. Even the coordination-valid scenarios require qualified review before downstream use.

## Validation

Run the focused package tests with:

```text
node --test test/curtain-wall-slab-reference.test.js
node --test test/reference-transaction.test.js
```

The test suite applies the package JSON Schema to the root and every materialized JSON artifact. It also checks cross-file references, manifest materialization, CTO/CIS projection behavior, recursive applicability, hard gates, deterministic scores, computed footprint containment and access/keep-out/penetration geometry, exact receipt alignment, and the nine expected outcomes.

Current verification:

- All four `.cto` projections pass the repository `validateCtoFile` implementation with no errors or warnings.
- The `.cis` projection passes `validateCisFile` with no errors or warnings.
- The original connection engine resolves three mirrored port identifiers and registered signatures and returns `ok` for the panel paired with each substrate branch.
- The golden-thread evaluator separately recomputes plane gap, opposed-normal error, attachment-zone overlap, and port offset from the shared-frame transforms.
- Focused regression tests cover the package manifest, source-status honesty, deterministic receipt digest, pass/fail/indeterminate precedence, transform recomputation, malformed-input handling, and both read and replay API routes.
