Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2897c7a
Update and extend project documentation with knowledge graph model
david-w-t Mar 28, 2026
e18c164
Propagate knowledge-graph-database-guide corrections into project docs
david-w-t Mar 28, 2026
72b5595
Fix reciprocity table column header and patent titles in knowledge-gr…
david-w-t Mar 29, 2026
d0a3441
Mark TASKS.md item C resolved — Descriptive Database section removed …
david-w-t Mar 29, 2026
39e6b56
Add conflict resolution note to guide; rewrite TASKS.md as public-fac…
david-w-t Mar 29, 2026
7523a97
Add attribute_value_pairs to node record structure in guide and CLAUD…
david-w-t Apr 1, 2026
76a69bb
Remove pre-rebar3 legacy directories and update docs
david-w-t Apr 1, 2026
85ba120
Add optional per-direction AVP list to relationship structure
david-w-t Apr 1, 2026
fe4e609
clarification on attributes
david-w-t Apr 2, 2026
2d952c1
Add architectural design doc and update task list for Mnesia/bootstra…
david-w-t Apr 4, 2026
1f24cc9
Resolve all open design questions: nref_start=10000, paths, Mnesia di…
david-w-t Apr 4, 2026
c8e4b24
Move nref_start from config into bootstrap.terms as a one-time directive
david-w-t Apr 4, 2026
7f701e2
Introduce category node kind: bootstrap-only scaffold, arc storage ru…
david-w-t Apr 4, 2026
806db1d
Assign bootstrap nrefs 1-28 (BFS), write bootstrap.terms, fix nref_st…
david-w-t Apr 4, 2026
7dd942d
Add instance-class membership arc labels (nrefs 29-30) to bootstrap
david-w-t Apr 4, 2026
df44352
Renumber nrefs 27-30 to strict BFS order (Class=27, Instance=28, Pare…
david-w-t Apr 4, 2026
e57fbfa
Reorder level-3 nodes: Attribute before Class in Names and Relationsh…
david-w-t Apr 4, 2026
d8dbff7
Add multi-database architecture: environment vs project DBs, project …
david-w-t Apr 4, 2026
c0503cf
Correct environment DB characterization: living schema, not read-only…
david-w-t Apr 4, 2026
558b363
Update all CLAUDE.md files to reflect current architecture
david-w-t Apr 5, 2026
9b4877d
Update and extend project documentation with knowledge graph model
david-w-t Mar 28, 2026
04a54f3
Fix reciprocity table column header and patent titles in knowledge-gr…
david-w-t Mar 29, 2026
15855fd
Add conflict resolution note to guide; rewrite TASKS.md as public-fac…
david-w-t Mar 29, 2026
7bde96f
Renumber nrefs 27-30 to strict BFS order (Class=27, Instance=28, Pare…
david-w-t Apr 4, 2026
25be2ec
Reorder level-3 nodes: Attribute before Class in Names and Relationsh…
david-w-t Apr 4, 2026
df1b46d
openwolf setup is included.
david-w-t Apr 5, 2026
63dcd48
Update default.config and sys.config for Task 0a: add log_path, boots…
david-w-t Apr 5, 2026
12abffa
Add set_floor/1 API to nref_server and nref_allocator (Task 0b)
david-w-t Apr 5, 2026
65ed1f0
Update TASKS.md and ARCHITECTURE.md to reflect completed Tasks 0a/0b …
david-w-t Apr 5, 2026
7908b45
Implement graphdb_bootstrap (Task 1): Mnesia schema/table creation an…
david-w-t Apr 5, 2026
0409c54
Add unit and integration tests for graphdb_bootstrap (35 EUnit + 16 C…
david-w-t Apr 5, 2026
8524108
Add safety guards to delete_dir_recursive: require absolute path with…
david-w-t Apr 5, 2026
4708ae3
Implement graphdb_mgr startup wiring (Task 2): bootstrap init, read A…
david-w-t Apr 5, 2026
6aef675
Implement graphdb_attr (Task 3): attribute library over Mnesia, 14 CT…
david-w-t Apr 5, 2026
e56e187
Moved session restart to tasks; completed tasks indicated.
david-w-t Apr 5, 2026
4042027
Merge branch 'main' into develop
david-w-t Apr 5, 2026
4ae5b04
Implement graphdb_class (Task 4): taxonomic hierarchy over Mnesia, 22…
david-w-t Apr 6, 2026
47a7bf6
Implement graphdb_instance (Task 5): compositional hierarchy + inheri…
david-w-t Apr 7, 2026
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
4 changes: 2 additions & 2 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -530,8 +530,8 @@ SeerStoneGraphDb/
4. ~~`graphdb_bootstrap`~~ — **done** implement loader; includes Mnesia schema/table creation~~ — **done**
5. ~~`graphdb_mgr`~~ — **done** bootstrap detection in `init/1`; read `bootstrap_file` from env; call loader ← **next**
7. ~~`graphdb_attr` — implement attribute library (Mnesia-backed)
8. `graphdb_class` — implement taxonomic hierarchy (Mnesia-backed)
9. `graphdb_instance` — implement compositional hierarchy + inheritance (Mnesia-backed)
8. ~~`graphdb_class` — implement taxonomic hierarchy (Mnesia-backed)~~ — **done**
9. ~~`graphdb_instance` — implement compositional hierarchy + inheritance (Mnesia-backed)~~ — **done**
10. `graphdb_mgr` — route public API calls to workers
11. `graphdb_rules` — rule storage and enforcement
12. `graphdb_language` — query parser and executor
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ seerstone (application)
│ ├── graphdb_mgr (gen_server — implemented: bootstrap init, read API, category guard)
│ ├── graphdb_rules (gen_server — stub, implementation pending)
│ ├── graphdb_attr (gen_server — implemented: seeds + create/lookup API)
│ ├── graphdb_class (gen_server — stub, implementation pending)
│ ├── graphdb_instance (gen_server — stub, implementation pending)
│ ├── graphdb_class (gen_server — implemented: taxonomic hierarchy, QC inheritance)
│ ├── graphdb_instance (gen_server — implemented: compositional hierarchy, inheritance)
│ └── graphdb_language (gen_server — stub, implementation pending)
└── dictionary_sup (supervisor)
├── dictionary_server (gen_server — stub, not yet wired to dictionary_imp)
Expand Down Expand Up @@ -247,7 +247,7 @@ A logical bidirectional edge is two `relationship` rows written atomically (one

These are outstanding items — all previously known bugs have been fixed.

- **graphdb worker modules** — five remain as gen_server stubs with no real implementation (`graphdb_rules`, `graphdb_attr`, `graphdb_class`, `graphdb_instance`, `graphdb_language`)
- **graphdb worker modules** — two remain as gen_server stubs with no real implementation (`graphdb_rules`, `graphdb_language`)
- **`graphdb_mgr` write operations** — `create_attribute/3`, `create_class/2`, `create_instance/3`, `add_relationship/4`, `delete_node/1`, `update_node_avps/2` return `{error, not_implemented}` pending worker implementation (Tasks 3–5); read operations and category guard are fully functional
- **`dictionary_server` and `term_server`** — stubs not yet wired to `dictionary_imp` (Task 8)
- **`seerstone:start/2` and `nref:start/2`** — non-normal start types (`{takeover,Node}`, `{failover,Node}`) hit `?NYI`; only relevant in distributed/failover deployments
Expand Down
15 changes: 8 additions & 7 deletions TASKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ naming and relationships. Attribute nodes live in the `nodes` Mnesia table with

---

## Task 4 — `graphdb_class` — Taxonomic Hierarchy
## ~~Task 4 — `graphdb_class` — Taxonomic Hierarchy~~ — DONE

File: `apps/graphdb/src/graphdb_class.erl`

Expand All @@ -136,10 +136,11 @@ inheritance. Class nodes live in the `nodes` table with `kind = class`.
- Implement `add_qualifying_characteristic/2` (class Nref, attribute Nref)
- Implement `get_class/1`, `subclasses/1`, `ancestors/1`
- Implement class-level attribute inheritance: `inherited_attributes/1`
- Seeds `qualifying_characteristic` literal attribute under Literals (nref 7)

---

## Task 5 — `graphdb_instance` — Compositional Hierarchy and Inheritance
## ~~Task 5 — `graphdb_instance` — Compositional Hierarchy and Inheritance~~ — DONE

File: `apps/graphdb/src/graphdb_instance.erl`

Expand Down Expand Up @@ -233,9 +234,9 @@ Correct for the present configuration; revisit if phased startup is desired.
| ~~1~~ | ~~`graphdb_bootstrap` + Mnesia schema~~ — **done** | 0a, 0b |
| ~~2~~ | ~~`graphdb_mgr` startup wiring~~ — **done** | 1 |
| ~~3~~ | ~~`graphdb_attr`~~ — **done** | 1, 2 |
| 4 | `graphdb_class` **next** | 3 |
| 5 | `graphdb_instance` | 3, 4 |
| 6 | `graphdb_rules` | 5 |
| ~~4~~ | ~~`graphdb_class`~~ — **done** | 3 |
| ~~5~~ | ~~`graphdb_instance`~~ — **done** | 3, 4 |
| 6 | `graphdb_rules` ← **next** | 5 |
| 7 | `graphdb_language` | 5 |
| 8 | `dictionary_server` / `term_server` | — (independent) |
| L1 | Non-normal start types | — |
Expand All @@ -252,6 +253,6 @@ To resume this session, start a new claude or OpenCode session in this repositor
We are resuming implementation of SeerStoneGraphDb.
Read ARCHITECTURE.md for full design decisions and TASKS.md for the task list.
All design questions are resolved. bootstrap.terms is complete (nrefs 1-30, BFS).
Tasks 0a-0c, Task 1 (graphdb_bootstrap), Task 2 (graphdb_mgr startup wiring), Task 3 (graphdb_attr) are done.
Next task: Task 4 — `graphdb_class` — Taxonomic Hierarchy (step 8 in ARCHITECTURE.md Section 12).
Tasks 0a-0c, Task 1 (graphdb_bootstrap), Task 2 (graphdb_mgr startup wiring), Task 3 (graphdb_attr), Task 4 (graphdb_class), Task 5 (graphdb_instance) are done.
Next task: Task 6 — `graphdb_rules` — Graph Rules (step 11 in ARCHITECTURE.md Section 12).
```
Loading
Loading