Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions corpus/MANIFEST_INDEX.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"artifact_id": "g-2026-0001",
"bridge_sha256": "d07c7462aee22640661faed5262cf802ce0fcbc663f312961a39be92bf857050",
"manifest_path": "corpus/artifacts/g-2026-0001/manifest.json",
"manifest_sha256": "ab33a0f4918587504d083551f3eefef8ec33065268355f9d5f9b487a6436d203",
"manifest_sha256": "211f9ac031a251afaf008ec1fd7cc6ade30e0cbba8bafbcbd02f0a81fd40e3c7",
"prev_hash": null,
"source_sha256": "c805df445d613b408e37337765572021265e3f5dfdc7d1fa53b22ba1600b8014",
"verdict_hash_sha256": "c615cc6c4606c3486be2a82af7566b4e6a5002623ffd39227f591b9df5182efa",
Expand All @@ -16,15 +16,15 @@
"artifact_id": "g-2026-0002",
"bridge_sha256": "bfdf36ffb0bb768f3409d818403990e64d4c262c6780603be87f8077387ad86d",
"manifest_path": "corpus/artifacts/g-2026-0002/manifest.json",
"manifest_sha256": "76e218f0f74ea1d2172727240d28422238856dc38b70a20d1f62a7624915b2f8",
"prev_hash": "65ee5d9750b2225244ea4e2ae873fc5f6a95ae97b000c9ed82feef1412a9499e",
"manifest_sha256": "ceb7a332376d9876977e9932c14bc025c8852270b13da007afe5d59d6a38e86d",
"prev_hash": "303890d7a873c329760c42aebcc26617fdc4c94ed83e2f0fc18ce4b7a269aa2c",
"source_sha256": "c805df445d613b408e37337765572021265e3f5dfdc7d1fa53b22ba1600b8014",
"verdict_hash_sha256": "cd171b3167c602d0882dd8a0d38c99791012a9fe693043e43e2d43b028554325",
"verdict_status": "PASS"
}
],
"chain_algorithm": "sha256 over JCS-lite canonical entries (sorted keys, no whitespace, UTF-8)",
"chain_head": "5e6a64228083a30b9c3ef667d0d6e02ad96b370954b34599c1da18850fcdad23",
"chain_head": "a817018fc5585963a1d66282467677ad863f85035ee709bc19393d940906f32b",
"schema_version": "1.0.0",
"signature": null,
"signing_status": "not implemented — SPEC.md §12.2 requires an Ed25519 signature over the chain head; no maintainer key is published yet, so this chain is tamper-evident but not cryptographically anchored"
Expand Down
18 changes: 5 additions & 13 deletions corpus/artifacts/g-2026-0001/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"source": "paired Revit IFC export",
"source_ifc_type": "IFCBUILDINGSTOREY",
"tolerance": 0,
"notes": "Changed 2026-08-30 (#218, RE-24): the storeys are now the Revit Level elements themselves \u2014 rvt-rs reads the fifteen standalone OST_Levels partition records and, for each, the name/elevation parameter block whose owner slot carries that Level's own ElementId. The count moved 11 \u2192 15 and every (name, elevation) pair equals an IfcBuildingStorey in this export exactly, so the row moved from decoder_baseline to known. This 20 KB element fixture carries the full fifteen-storey spatial hierarchy even though it carries one building element, so the reference side is authoritative here as well as on the sibling full-project manifest. Previously (#213) the elevations came from the partition element-record bbox base-z distribution, which saw only the eleven storeys that have a column standing on them."
"notes": "Changed 2026-08-30 (#218, RE-24): the storeys are now the Revit Level elements themselves rvt-rs reads the fifteen standalone OST_Levels partition records and, for each, the name/elevation parameter block whose owner slot carries that Level's own ElementId. The count moved 11 15 and every (name, elevation) pair equals an IfcBuildingStorey in this export exactly, so the row moved from decoder_baseline to known. This 20 KB element fixture carries the full fifteen-storey spatial hierarchy even though it carries one building element, so the reference side is authoritative here as well as on the sibling full-project manifest. Previously (#213) the elevations came from the partition element-record bbox base-z distribution, which saw only the eleven storeys that have a column standing on them."
},
"walls": {
"status": "decoder_baseline",
Expand Down Expand Up @@ -151,7 +151,7 @@
"tolerance": 0,
"tracking_issue": 34,
"unsupported_feature": "revit_compound_assemblies_and_walltype_widths",
"notes": "Partition display-name Materials recover into IfcMaterial; compound assemblies / WallType widths remain open. Paired IFC expects only 1. Decoder baseline 102 after Finding 1 gated Partitions/Global strip (was 92\u00b15)."
"notes": "Partition display-name Materials recover into IfcMaterial; compound assemblies / WallType widths remain open. Paired IFC expects only 1. Decoder baseline 102 after Finding 1 gated Partitions/Global strip (was 92±5)."
},
"units": {
"status": "known",
Expand Down Expand Up @@ -197,16 +197,15 @@
"expected_storeys": 15,
"source": "paired Revit IFC export",
"tracking_issue": 218,
"notes": "Added 2026-08-30 (#218, RE-24). The compared value is the exact set of [Name, Elevation] pairs, elevation converted from each file's declared LENGTHUNIT to feet and rendered at 1e-6 ft \u2014 this export declares FOOT while rvt-rs writes METRE, so the field would be incomparable without the conversion. All three witnesses read it independently: IfcOpenShell 0.8.5 by_type + ifcopenshell.util.unit, IFClite 7.1.1 EntityScanner + extract_length_unit_scale, and rvt-rs by splitting its own emitted STEP. rvt-rs recovers the pair from the .rvt: the fifteen standalone OST_Levels partition element records give the Level ElementIds, and each Level's name/elevation parameter block is keyed by that ElementId at a fixed negative offset (owner at value-0x47), so nothing is joined by rank. Measured on this artifact: 15 of 15 pairs reproduced exactly - no wrong elevation, no missing storey, no extra storey."
"notes": "Added 2026-08-30 (#218, RE-24). The compared value is the exact set of [Name, Elevation] pairs, elevation converted from each file's declared LENGTHUNIT to feet and rendered at 1e-6 ft this export declares FOOT while rvt-rs writes METRE, so the field would be incomparable without the conversion. All three witnesses read it independently: IfcOpenShell 0.8.5 by_type + ifcopenshell.util.unit, IFClite 7.1.1 EntityScanner + extract_length_unit_scale, and rvt-rs by splitting its own emitted STEP. rvt-rs recovers the pair from the .rvt: the fifteen standalone OST_Levels partition element records give the Level ElementIds, and each Level's name/elevation parameter block is keyed by that ElementId at a fixed negative offset (owner at value-0x47), so nothing is joined by rank. Measured on this artifact: 15 of 15 pairs reproduced exactly - no wrong elevation, no missing storey, no extra storey."
}
},
"semantic_surface": [
"entity_counts.IFCBUILDINGSTOREY",
"entity_counts.IFCROOF",
"entity_counts.IFCBEAM",
"entity_counts.IFCFLOWTERMINAL",
"entity_counts.IFCUNITASSIGNMENT",
"storeys.IFCBUILDINGSTOREY"
"entity_counts.IFCUNITASSIGNMENT"
],
"excluded": [
{
Expand Down Expand Up @@ -271,14 +270,7 @@
"reason": "decoder_baseline",
"tracking_issue": 212,
"unsupported_feature": null
},
{
"category": "opening_fills",
"field": "relations.IFCRELFILLSELEMENT",
"reason": "decoder_baseline",
"tracking_issue": 222,
"unsupported_feature": null
}
],
"notes": "`counts`, `relations` and `storeys` are the normative SPEC.md \u00a76.1 blocks and are what the gate reads; `semantic_surface` and `excluded` are the declared result, and tools/verdict.py fails with MANIFEST_ERROR if they disagree with what those blocks imply \u2014 so an accidental status flip is loud rather than a silent surface change. Tracking issues 33/34/35/204/211/212/218/222 are rvt-rs issues (github.com/DrunkOnJava/rvt-rs). Departing from the upstream rvt-rs manifest exactly as corpus/README.md documents, the `decoder_*` fields are dropped and a category that carries no cross-witness type key is dropped with them. The bridge file is a 20 KB element-export fixture, not a full project schedule, so four of the six agreeing surface fields are zero counts \u2014 but Revit writes the complete fifteen-storey spatial hierarchy into it even so, which is why `entity_counts.IFCBUILDINGSTOREY` and `storeys.IFCBUILDINGSTOREY` are `known` here and carry the same fifteen (name, elevation) pairs the full export does. `relations.IFCRELFILLSELEMENT` goes the other way: this fixture carries no IfcRelFillsElement at all, so the relation is excluded first-class and is scored only on the sibling full-project artifact. See PROVENANCE.md."
"notes": "`counts`, `relations` and `storeys` are the normative SPEC.md §6.1 blocks and are what the gate reads; `semantic_surface` and `excluded` are the declared result, and tools/verdict.py fails with MANIFEST_ERROR if they disagree with what those blocks imply — so an accidental status flip is loud rather than a silent surface change. Tracking issues 33/34/35/204/211/212/218/222 are rvt-rs issues (github.com/DrunkOnJava/rvt-rs). Departing from the upstream rvt-rs manifest exactly as corpus/README.md documents, the `decoder_*` fields are dropped and a category that carries no cross-witness type key is dropped with them. The bridge file is a 20 KB element-export fixture, not a full project schedule, so four of the six agreeing surface fields are zero counts — but Revit writes the complete fifteen-storey spatial hierarchy into it even so, which is why `entity_counts.IFCBUILDINGSTOREY` and `storeys.IFCBUILDINGSTOREY` are `known` here and carry the same fifteen (name, elevation) pairs the full export does. `relations.IFCRELFILLSELEMENT` goes the other way: this fixture carries no IfcRelFillsElement at all, so the relation is excluded first-class and is scored only on the sibling full-project artifact. See PROVENANCE.md."
}
4 changes: 2 additions & 2 deletions corpus/artifacts/g-2026-0001/observations/rvt-rs.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"IFCPRODUCTDEFINITIONSHAPE": 992,
"IFCPROJECT": 1,
"IFCPROPERTYSET": 854,
"IFCPROPERTYSINGLEVALUE": 5611,
"IFCPROPERTYSINGLEVALUE": 8435,
"IFCRECTANGLEPROFILEDEF": 912,
"IFCRELAGGREGATES": 3,
"IFCRELCONTAINEDINSPATIALSTRUCTURE": 13,
Expand Down Expand Up @@ -683,7 +683,7 @@
]
}
},
"observation_hash_sha256": "70f8df9dd188b7e42947bfa167b2810333b3d0dc4398019ea40570b7fcb87c24",
"observation_hash_sha256": "3c210a6f13192c2fb25b78140e5e0950b4b28bd2d136b21cfebc4d5f5d4b9993",
"schema_version": "1.1.0",
"semantic_surface_covered": [
"entity_counts",
Expand Down
Loading
Loading