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
5 changes: 5 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,11 @@ that file must reflect the current shape of the tree.
The canonical spec is `docs/TheKnowledgeNetwork.md` — it does **not**
track the code. Outstanding work lives in `TASKS.md`.

`docs/archive/` holds settled ADRs and completed-task history. **Do not
search or read files under `docs/archive/` unless the user explicitly
requests it.** These files are historical records; they do not reflect
current code or open work.

## Storage Technologies Used

| Technology | Used by | Purpose |
Expand Down
36 changes: 36 additions & 0 deletions TASKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,42 @@ scoped overlay tables).

---

## Multilingual overlay — structural gaps

Two items deferred from the original multilingual work that have not yet landed.

### Language superclass hierarchy

`lang_human` (the root class for all human natural languages) is currently
a direct child of `Classes` (nref 3) with no intermediate superclass. The
architecture specifies a `Language` superclass node sitting above `lang_human`
under `Classes`. Two implementation paths:

- **Option A** — Add `Language` as a bootstrap node in `bootstrap.terms`
and make `lang_human` a child of it there. Structurally cleanest; the
node belongs to the permanent scaffold, not a worker's `init/1`.
- **Option B** — Seed `Language` at `graphdb_language:init/1` time and call
`graphdb_class:add_superclass/2` to place `lang_human` under it. No
bootstrap change required.

Decide and implement one option.

### Domain subcategory connection rules

When a language instance is created at runtime (e.g., French), it is not
automatically placed under the appropriate domain subcategory node (nrefs
32–35: Human Languages, Formal Languages, Diagram Languages, Renderers).
English is wired in `bootstrap.terms` directly; runtime-created languages
are not.

The connection firing engine is now implemented (`graphdb_instance`,
`graphdb_rules`). Add a connection rule to `lang_human` (and the equivalent
class nodes for the other language kinds) that fires at instance creation
and connects the new language instance to the correct subcategory. The
resolver is supplied via `create_instance/4`.

---

## Multi-project sessions

Every public API already accepts a `Scope` of `environment | {project,
Expand Down
2 changes: 1 addition & 1 deletion docs/Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ no runtime API can create, modify, or delete a `category` node.

`parents` and `classes` are **caches** of the authoritative arcs in the
`relationships` table. The decision record is
[`arcs-authoritative.md`](../arcs-authoritative.md); the rules are:
[`arcs-authoritative.md`](archive/arcs-authoritative.md); the rules are:

1. Every taxonomic, compositional, and instantiation relationship is
canonical in `relationships`.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,12 @@ Currently `lang_human` is a direct child of Classes (3) in bootstrap.terms — t

Decision on which option was deferred before implementation.

**Gap 2 — Connection arcs to subcategory nodes (nrefs 32–35) — deferred**
**Gap 2 — Connection arcs to subcategory nodes (nrefs 32–35) — now unblocked**

Architecture §10: "Domain membership is recorded by a lateral connection arc from each language class node to the appropriate subcategory (e.g., English → Human Languages, nref 32)." These are template-scoped CONNECTION arcs (char 31). Template infrastructure is not yet implemented. Cannot land in M6. The bootstrap.terms comment on English (10000) confirms this is deferred.
Architecture §10: "Domain membership is recorded by a lateral connection arc from each language class node to the appropriate subcategory (e.g., English → Human Languages, nref 32)." These are template-scoped CONNECTION arcs (char 31). Deferred from M6 because the connection firing engine was not yet implemented.

F4 B4 (connection firing engine, PR #37) has now landed. The mechanism exists. What remains: add connection rules to `lang_human` (and equivalent class nodes for formal/diagram/renderer languages) that fire at `create_instance/4` and connect the new instance to the correct subcategory nref.

**Why:** Bootstrap.terms carries the note `(b) composition arc to Human Languages category (nref 32) — requires` (cut off, referring to template infrastructure).

**How to apply:** Before starting M6 Task 2 implementation, decide Option A vs B for the Language superclass and update the plan accordingly. Connection arcs remain deferred regardless.
**How to apply:** Both gaps are now tracked in TASKS.md ("Multilingual overlay — structural gaps"). This memory file is archived; refer to TASKS.md for current status.
2 changes: 1 addition & 1 deletion docs/resiliency-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ These are cheap and useful under both (A) and (B).
## Reading order for next session

1. This file (re-orient).
2. `arcs-authoritative.md` (current arc model).
2. `docs/archive/arcs-authoritative.md` (current arc model).
3. `docs/designs/f4-graphdb-rules-design.md` §10.1 (the pinned
placement question — directly affected by R2).
4. `memory/project-f4-phase-a-pinned-question.md` (the then-current
Expand Down
Loading