dot-iu-cutter v0.5 WS-1 — Edge APR Minimization Note
dot-iu-cutter v0.5 WS-1 — Edge APR Minimization Note
Phase: design-only cleanup · 2026-05-18 · Authority: GPT review PASS_WITH_RULINGS (OD-FA4 = NOT_APPROVED_AS_6_EDGE_BATCH) + Opus + User routing. Self-contained.
No edge type is approved or created by this note. This note only classifies and minimizes the OD-FA4 candidates into an APR-ready recommendation. APR approval is reserved for GPT/User (forbidden: approve APR on behalf of GPT/User).
0. Inputs & principle
- OD-FA4 (file
...fabric-addendum-open-decisions...) flagged 6 edge candidates for cross-source assembly (G4). - GPT ruling: do not approve as a 6-edge batch; classify each into 3 buckets and minimize.
- P44-4A reference (
knowledge/dev/laws/dieu44-trien-khai/design/05-relation-edge-conformance-design.md): 8 core edge typescontains, references, depends_on, uses, implements, supersedes, contradicts, compatible_with; 3 candidatederived_from, governed_by, published_in(still pending v1.0 ban hành); §3.3 — any edge outside the 11 requires APR cấp medium (Đ32) + amend vocab framework; cấm hardcode edge_type list (NT4). - Binding boundary (companion note):
iu_entity_bindingfor IU↔raw_entity;universal_edgesonly when both ends are governed Objects/IUs.
Buckets:
bucket_1_reuse_existing_P44_edge— existing P44-4A edge covers semantics well enough.bucket_2_model_as_iu_entity_binding_or_assembly_relation— relation is mainly IU↔raw_entity, or assembly-local output grouping, not a durable IU↔IU semantic edge.bucket_3_candidate_new_edge_requires_APR— durable, cross-source, cannot be represented by existing P44 edges or binding without losing important meaning.
Edge minimization principle: prefer reuse > iu_entity_binding (IU→raw entity) > assembly-local relation (output-only grouping) > new edge. Keep a new-edge candidate only when durable semantic meaning would otherwise be lost.
assembly-local relation = a relation that exists only inside an
assembly_profileoutput (viarelation_filter/ annotation, G1), computed at assembly time, not persisted as auniversal_edgesrow. No APR needed; no edge_type vocab change.
1. Per-candidate classification
1.1 constrains → bucket_1 (reuse)
- Meaning: "X đặt ràng buộc lên Y" (luật ràng buộc quy trình/code).
- Existing coverage: P44-4A
governed_by(candidate; "Source chịu governance của target — law/agency", reversegoverns) directionally expresses "Y governed_by X" ≈ "X constrains Y". For pure logic/regulation conflict,contradicts; for compatibility,compatible_with. - iu_entity_binding? No — both ends typically governed IU/Object (law IU ↔ process/code IU).
- Assembly-local enough? Often yes for display ("ràng buộc"); a distinct
constraint_kindcan be assembly-local relation metadata. - APR status: NOT a candidate. Reuse
governed_by(directional) + optional assembly-local metadata. (Note dependency:governed_byitself is a P44-4A candidate edge pending v1.0 — its activation is a separate P44-4A track, not a new edge here.)
1.2 maps_to_process → bucket_2
- Meaning: IU ↔ process step.
- If process step is a registered Object/IU: reuse
references(read-only link) orimplements(IU implements process spec). - If process step is a raw operational entity (process_id in a BPMN/ops system): use
iu_entity_binding(binding_kind=implements/references_entity). - APR status: NOT a candidate. Covered by reuse (both-IU) or iu_entity_binding (raw entity).
1.3 maps_to_code → bucket_2
- Meaning: IU ↔ code file/module.
- Code file/module =
raw_entity(GitHub path, code module). →iu_entity_binding(entity_kind=git_file/code_module, binding_kind=implements/references_entity). - If both sides are IUs (e.g. an architecture-note IU ↔ a code-doc IU): reuse
implements/references. - APR status: NOT a candidate. Covered by iu_entity_binding (primary) or reuse.
1.4 maps_to_requirement → bucket_2 (with weak bucket_3 note)
- Meaning: IU ↔ compliance requirement.
- If requirement is an internal-law/clause IU: reuse
implements(IU implements requirement) orgoverned_by(IU governed by requirement). - If it is output-only "which units satisfy which requirement": assembly-local relation inside the
compliance_matrixprofile (G1) — no persisted edge. - GPT guidance: "candidate only, APR required if retained." Assessment: durable distinct meaning is not lost when split into
implements/governed_by+ compliance_matrix assembly relation. - APR status: NOT recommended as a new edge. Downgrade to bucket_2. (Retain as a deferred weak candidate only if a future pilot proves
implements+assembly cannot express requirement-coverage traceability — re-open then, not now.)
1.5 evidenced_by → bucket_3 (true new edge — sole APR candidate)
- Meaning: "Requirement/claim X is evidenced_by report/artifact Y" — Y proves X was satisfied/done.
- Existing coverage:
references= read-only mention (no proof semantics);implements= source realizes a spec (not "proves done");derived_from= provenance of creation (not evidentiary). None carry the durable evidence/attestation relation, which is exactly the cross-source link compliance assembly (G4) needs (normative ↔ evidence authority, see companion note). - iu_entity_binding? Only when the evidence is a raw_entity (e.g. report path) — for IU↔IU evidence (requirement IU ↔ report IU) a durable semantic edge is warranted.
- APR status: RETAIN as the single true new-edge candidate. GPT: "strongest candidate for a true new durable edge; candidate APR allowed."
1.6 lesson_from → bucket_1 (reuse)
- Meaning: "decision/change lesson_from incident/report".
- Existing coverage: P44-4A candidate
derived_from("Target sinh ra source (provenance)") +source_family=lessontag (WS-2 source profile) expresses "lesson derived_from report".referencesfor weaker mentions. - APR status: NOT a candidate. Reuse
derived_from+ source_family=lesson. (Dependency note:derived_fromis a P44-4A candidate edge pending v1.0; if it is never activated, revisit — but that is a P44-4A candidate-promotion track, not a new-edge APR here.)
2. Minimized recommendation
| Candidate | Bucket | Resolution | New edge APR? |
|---|---|---|---|
| constrains | 1 | reuse governed_by (directional) + assembly metadata |
no |
| maps_to_process | 2 | iu_entity_binding (raw) / reuse references,implements (IU↔IU) |
no |
| maps_to_code | 2 | iu_entity_binding (raw code) / reuse implements,references |
no |
| maps_to_requirement | 2 | reuse implements/governed_by + compliance_matrix assembly-local relation |
no (weak deferred candidate only) |
| evidenced_by | 3 | true new durable edge | yes — APR candidate |
| lesson_from | 1 | reuse derived_from + source_family=lesson |
no |
Smallest possible new edge set = { evidenced_by } — exactly 1, down from 6.
This satisfies the edge-minimization principle: 0 edges reused→1; G4 cross-source assembly can proceed using existing 11 P44-4A types + iu_entity_binding + assembly-local relations + the single new evidenced_by (after APR).
3. APR-ready wording — evidenced_by ONLY (proposal text, NOT approved)
Drafted to satisfy P44-4A §3.3 requirements (justify + define logical/reverse/family/provenance). This is proposal wording for a future Đ32 APR cấp medium; it is NOT an APR, NOT an approval, NOT an edge creation.
proposed_edge_type: evidenced_by # status: PROPOSED-FOR-APR, not created
logical_meaning: >
Source (a normative/requirement/claim IU) is evidenced_by Target
(an evidence-authority IU: report, verification artifact, test result)
— Target attests that Source was satisfied/performed.
direction: directional (1 chiều)
reverse_type: evidences # Target evidences Source
edge_family: relation (Cap-4) # NOT composition; lifecycle-independent
endpoint_constraint: both ends Object OQC>=3/4 (P44-4A §2.1); IU<->IU only.
IU<->raw evidence entity uses iu_entity_binding instead.
provenance: required post-Đ44 (creator, method, timestamp, source_context)
why_not_existing:
references: read-only mention, no attestation semantics
implements: source realizes a spec, not "proves performed"
derived_from: creation provenance, not evidentiary proof
anti_drift: symmetric? NO. Reverse via P44-4A §6 reverse-index (P1/P2/P3 deferred).
governance: requires APR cấp medium (Đ32) + amend edge_type vocab framework (NT4);
owner_law tag per P44-4A namespace separation (object edge).
4. Statements
- No edge type is approved or created by this note.
- Recommended minimal new-edge set requiring future APR = { evidenced_by } (1).
maps_to_requirementretained only as a deferred weak candidate (not APR now).constrains, maps_to_process, maps_to_code, lesson_from= no new edge (reuse / binding / assembly-local).- WS-3 cross-source assembly may proceed only after GPT/User APR readiness for
evidenced_by(or a decision to run WS-3 without it). Edge APR step is gated, not self-advanced. - Git/access: no repo/VPS access in this session (working dir
/Users/nmhuyen, not a git repo). No write attempted. code_changed: false; commit_made: false.