Skip to content

decompose(b-0428): DBpedia HKT-MDM demo — 5 atomic child rows B-0480..B-0484#3131

Merged
AceHack merged 5 commits into
mainfrom
feat/decompose-b-0428-dbpedia-2026-05-14
May 14, 2026
Merged

decompose(b-0428): DBpedia HKT-MDM demo — 5 atomic child rows B-0480..B-0484#3131
AceHack merged 5 commits into
mainfrom
feat/decompose-b-0428-dbpedia-2026-05-14

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 14, 2026

Summary

B-0428 (DBpedia via direct dotNetRDF + F# CE — HKT-MDM canonical demo) was too broad to implement atomically. This PR decomposes it into 5 dependency-ordered child rows:

Row Title Type Depends on
B-0480 Library-choice ADR + prior-art audit research (gate)
B-0481 F# project scaffold + NuGet + connectivity smoke feature B-0480
B-0482 SPARQL F# computation expression feature B-0481
B-0483 HKT-MDM entity bindings + DV2.0 hub-satellite feature B-0482
B-0484 End-to-end demo project (closes B-0428) feature B-0483

Decomposition rationale

  • B-0480 is the gate row: dotNetRDF vs RDFSharp ADR must be decided before any code rows start to avoid throwaway implementation work
  • B-0481 establishes the green-build baseline with the library wired into the solution; all subsequent rows add code on top
  • B-0482 implements the sparql { } CE following the CircuitBuilder pattern from src/Core/Dsl.fs — pure unit tests, no network
  • B-0483 is the MDM layer: DV2.0 hub-satellite types + HKT M<'T> bindings per PR docs(memory): factory ontology HKT applies directly to master data — every company has one (Aaron 2026-05-13) #2913, with FsCheck property tests
  • B-0484 wires the stack into an end-to-end demo, updates the ADR with the Path-A transition plan, and closes B-0428

B-0428 status updated to decomposed with the child table in the body.

Build gate

dotnet build -c Release → 0 Warning(s), 0 Error(s)

(No F# source changes — backlog docs only.)

Test plan

  • dotnet build -c Release — 0 warnings, 0 errors ✓
  • B-0480 closes → unblocks B-0481
  • Each child row merges in dependency order, each with its own green build check

🤖 Generated with Claude Code

….B-0484

B-0428 was too broad to implement atomically (library ADR + new F# project +
SPARQL CE + HKT-MDM bindings + demo all in one row). Decomposed into 5
dependency-ordered child rows:

  B-0480 — library-choice ADR + prior-art audit (gate row, no deps)
  B-0481 — F# project scaffold + NuGet add + connectivity smoke (← B-0480)
  B-0482 — SPARQL F# computation expression (← B-0481)
  B-0483 — HKT-MDM entity bindings + DV2.0 hub-satellite types (← B-0482)
  B-0484 — end-to-end demo project; closes B-0428 (← B-0483)

Build gate: dotnet build -c Release → 0 warnings 0 errors.
B-0428 status updated to decomposed.

operative-authorization: aaron 2026-05-13: "Cooling period: TBD. The memory file IS the durable record"

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 14, 2026 12:02
@AceHack AceHack enabled auto-merge (squash) May 14, 2026 12:02
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5429dd3fa5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR decomposes backlog item B-0428 (DBpedia HKT‑MDM canonical demo) into five dependency-ordered P1 child rows (B-0480..B-0484) and updates the parent row to reflect the decomposition.

Changes:

  • Added five new per-row backlog files defining the gate/research step (ADR) and the subsequent implementation/demo steps.
  • Updated B-0428 to status: decomposed, added a children: list, and added a decomposition table linking to the new rows.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/backlog/P1/B-0484-dbpedia-end-to-end-demo-project-2026-05-14.md Defines the final end-to-end demo/integration-test row that closes B-0428.
docs/backlog/P1/B-0483-dbpedia-hkt-mdm-entity-bindings-dv2-hub-satellite-2026-05-14.md Defines the DV2 hub/satellite entity bindings step for the DBpedia demo stack.
docs/backlog/P1/B-0482-dbpedia-sparql-fsharp-ce-computation-expression-2026-05-14.md Defines the SPARQL computation-expression (query authoring) step and its tests.
docs/backlog/P1/B-0481-dbpedia-fsharp-project-scaffold-nuget-connectivity-2026-05-14.md Defines the project scaffolding + NuGet + connectivity smoke-test step.
docs/backlog/P1/B-0480-dbpedia-library-choice-adr-prior-art-audit-2026-05-14.md Defines the gate row for selecting dotNetRDF vs RDFSharp via an ADR and auditing prior art.
docs/backlog/P1/B-0428-dbpedia-direct-dotnetrdf-fsharp-ce-hkt-mdm-canonical-demo-aaron-2026-05-13.md Marks the parent row as decomposed and links to the new child rows.
Comments suppressed due to low confidence (2)

docs/backlog/P1/B-0480-dbpedia-library-choice-adr-prior-art-audit-2026-05-14.md:53

  • The prior-art audit table says to check docs/backlog/P1/B-0043-*.md, but B-0043 is currently in docs/backlog/P3/ (priority P3). This path/glob won’t find the intended row; update it to the correct location or use a repo-wide glob.
| F# CE model | `src/Core/Dsl.fs` | CircuitBuilder pattern — applies to SparqlBuilder |
| Package manifest | `Directory.Packages.props` | Confirm no RDF packages already present |
| B-0043 parent | `docs/backlog/P1/B-0043-*.md` | Scope of universal-business-templates |
| PR #2913 | GitHub | HKT-MDM universality — confirm `M<'T>` substrate shape |
| DV2.0 rule | `.claude/rules/dv2-data-split-discipline-activated.md` | Hub-satellite partition applies |

docs/backlog/P1/B-0484-dbpedia-end-to-end-demo-project-2026-05-14.md:107

  • This checklist says to read docs/backlog/P1/B-0043-*.md, but the actual B-0043 row is under docs/backlog/P3/. Update the path/glob so the “composes-with B-0043 check” points at the real file.
## Composes-with B-0043 check

Read `docs/backlog/P1/B-0043-*.md` and verify:

- The demo query (persons / organizations) overlaps with B-0043's
  "universal company + government information substrate" scope
- Add a pointer from B-0043 to B-0484 in `composes_with:` on both rows

Comment thread docs/backlog/P1/B-0480-dbpedia-library-choice-adr-prior-art-audit-2026-05-14.md Outdated
Comment thread docs/backlog/P1/B-0484-dbpedia-end-to-end-demo-project-2026-05-14.md Outdated
AceHack and others added 2 commits May 14, 2026 08:09
B-0481 and B-0482 backlog rows were missing blank lines before list
blocks that immediately followed prose lines, triggering MD032
(blanks-around-lists) in the required markdownlint gate.

Also regenerates docs/BACKLOG.md to include B-0480..B-0484 rows
(fixes the non-required backlog-index-integrity drift check).

Co-Authored-By: Claude <noreply@anthropic.com>
Thread 1 (B-0481 P1): Replace incorrect Trait-based CI skip guidance with
Fact(Skip=...) — CI runs dotnet test with no filter so Trait alone does not
skip tests; Fact(Skip=...) skips by default without requiring filter changes.

Thread 2 (B-0481 P2): Add missing PREFIX rdfs declaration to smoke-test query
to prevent undefined-prefix parse error when the query is copied literally.

Thread 3 (B-0482): Remove dangling B-0485 composes_with reference — no B-0485
row exists; broken edge would be flagged by audit-backlog-items.ts.

Threads 4+5 (B-0480, B-0484): Fix B-0043 path P1→P3 in both composes_with
frontmatter and prose references — B-0043 lives in docs/backlog/P3/.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 14, 2026 12:12
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5a0740da97

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/backlog/P1/B-0484-dbpedia-end-to-end-demo-project-2026-05-14.md Outdated
@AceHack
Copy link
Copy Markdown
Member Author

AceHack commented May 14, 2026

Review threads addressed (2 commits pushed):

Thread Finding Fix
T1 P1 (B-0481) Incorrect CI skip guidance — Trait alone doesn't filter in dotnet test Replaced with Fact(Skip=...) which skips by default without needing a filter
T2 P2 (B-0481) Missing PREFIX rdfs: in smoke query causes undefined-prefix parse error Added PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> in a sparql code block
T3 (B-0482) Dangling B-0485 in composes_with — no such row exists Removed the reference
T4 (B-0480) composes_with + table reference use wrong path P1/B-0043-… Corrected to P3/B-0043-… (actual location)
T5 (B-0484) Same P1/B-0043-… path error in composes_with and prose Corrected to P3/B-0043-…

Also fixed in the same PR (first commit): MD032 blanks-around-lists lint failures in B-0481 and B-0482 + regenerated docs/BACKLOG.md to include B-0480..B-0484.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Comment thread docs/backlog/P1/B-0484-dbpedia-end-to-end-demo-project-2026-05-14.md Outdated
AceHack and others added 2 commits May 14, 2026 08:20
Thread PRRT_kwDOSF9kNM6CDkBN (Codex P1): Replace the false claim that
CI may exclude Category=Integration tests by default. CI runs
'dotnet test Zeta.sln -c Release' with no category filter — every test
runs unconditionally. The recorded fixture path is required for CI
safety; live-endpoint fallback requires explicit workflow filter changes.

Also fix prose reference at line 103: docs/backlog/P1/B-0043-* →
docs/backlog/P3/B-0043-* (B-0043 lives in P3, not P1).

Thread PRRT_kwDOSF9kNM6CDkBR (Codex P2): B-0485 dangling reference was
already removed from B-0482 by the prior fix commit; resolving thread
only.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot threads PRRT_kwDOSF9kNM6CDpWJ / CDpW3 / CDpXH / CDpXg:
Repo convention places test projects under tests/ (e.g. tests/Bayesian.Tests,
tests/Core.CSharp.Tests) — source code stays under src/. The decompose commit
incorrectly used src/DBpedia.Tests/ for all test file references.

Fixed in B-0481, B-0482, B-0483, B-0484 (8 occurrences total):
src/DBpedia.Tests → tests/DBpedia.Tests throughout.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 14, 2026 12:22
@AceHack AceHack merged commit 633fc67 into main May 14, 2026
24 checks passed
@AceHack AceHack deleted the feat/decompose-b-0428-dbpedia-2026-05-14 branch May 14, 2026 12:24
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (1)

docs/backlog/P1/B-0480-dbpedia-library-choice-adr-prior-art-audit-2026-05-14.md:62

  • This evaluation-criteria table also starts rows with ||, which typically creates an extra empty column. Use a single leading | for each row so the table renders as intended.
| Criterion | dotNetRDF 3.x | RDFSharp 3.x |
|-----------|---------------|--------------|
| Last NuGet publish | Verify via search | Verify via search |
| CI offline capability | Needs recording or mocking | Needs recording or mocking |
| SPARQL 1.1 query support | Yes | Yes |

Comment on lines +47 to +51
| Surface | Path | What to verify |
|---------|------|----------------|
| F# CE model | `src/Core/Dsl.fs` | CircuitBuilder pattern — applies to SparqlBuilder |
| Package manifest | `Directory.Packages.props` | Confirm no RDF packages already present |
| B-0043 parent | `docs/backlog/P3/B-0043-*.md` | Scope of universal-business-templates |
Comment on lines +39 to +43
| DV2.0 type | DBpedia shape | Change rate |
|------------|---------------|-------------|
| **Hub** | Wikipedia article URI (stable business key) | Rare — stable across edits |
| **Satellite** | Named attributes (label, birth date, occupation, etc.) | Frequent — wiki edits |
| **Link** | Relationships between entities (e.g. Person → Organization) | Medium |
Comment on lines +184 to +188
| Row | Title | Type | Depends on |
|-----|-------|------|------------|
| [B-0480](B-0480-dbpedia-library-choice-adr-prior-art-audit-2026-05-14.md) | Library-choice ADR + prior-art audit | research (gate) | — |
| [B-0481](B-0481-dbpedia-fsharp-project-scaffold-nuget-connectivity-2026-05-14.md) | F# project scaffold + NuGet + connectivity smoke | feature | B-0480 |
| [B-0482](B-0482-dbpedia-sparql-fsharp-ce-computation-expression-2026-05-14.md) | SPARQL F# computation expression | feature | B-0481 |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants