Research challenges
What this is
Section titled “What this is”These are adversarial/exploratory research briefs — focused assignments that can be handed to a fresh agent with no prior context bias. Each challenge:
- Targets a specific architectural assumption, decision, or design
- Asks the agent to critically assess, stress-test, or find alternatives
- Is grounded in first principles and the project’s philosophical pillars
- Thinks long-term and large-scale — not just “does this work today” but “does this hold at 100K notes, 50 frameworks, 10 years from now”
How to use
Section titled “How to use”- Pick a challenge from the list below
- Hand it to a fresh agent (one with no prior conversation context about this project)
- Point the agent at the KB (
docs/src/content/docs/) for context - Let it research, critique, and report
- Log findings in
zz-log/if they surface decisions or insights worth preserving
Why fresh agents
Section titled “Why fresh agents”Every agent that works on a project accumulates context bias — it starts agreeing with past decisions because it helped make them. A fresh agent given only the KB and a challenge brief can find blind spots that embedded agents can’t see.
Status at a glance
Section titled “Status at a glance”| Bucket | Count | Where the briefs live | Sidebar group |
|---|---|---|---|
| Open | 20 | this folder (zz-challenges/) | listed under Challenges in ascending Ch order |
| Resolved and archived | 25 | zz-challenges/archive/ | the Archived group at the bottom |
A challenge is open while its brief sits in this folder — regardless of whether a deliverable has already landed. It becomes archived only when a dated zz-log/ synthesis entry records the verdict and the brief is moved to archive/ with a resolution callout. Folder membership is the source of truth; this page mirrors it.
Every open brief carries a Status: OPEN callout at the top saying whether a research pass has run yet.
Numbering note: Ch 17 was never filed. It was floated in the 2026-05-02 research-wave log (reactive/incremental computation; LinkML scope) and parked pending user signal, so the sequence skips from 16 to 18.
Open (20)
Section titled “Open (20)”Why these batches were filed
Section titled “Why these batches were filed”2026-04-10 (Ch 01-04) — the original first-principles set: break the diff primitives, stress the architecture at scale, map the competition, audit the KB for sloppy thinking.
2026-05-03 (Ch 21) — strictly upstream of Ch 20. Ch 20 settled what shape the import primitive takes; Ch 21 asks whether the primitives come from our codebase or someone else’s (build / adopt / compose), with opportunity-cost, governance, and sustainability lenses.
2026-05-07 (Ch 27-28) — v0.1.6 prerequisites. Bases can’t do joins, recursion, anti-joins, or multi-file aggregation; junction notes reify edges as Bases-queryable files but cross-junction aggregation still hits the flat-YAML wall. Ch 27 designs the routing; Ch 28 stress-tests materialization lifecycle, registerBasesView-vs-codeblock, mobile/Publish parity, and audit-trail implications.
2026-05-08 (Ch 29-37) — the ontology-web alignment review found the synthesis log had drifted GRC-coded and that several v0.1.7+ commitments rested on never-validated assumptions. Ch 29-34 are new questions; Ch 35-37 are reruns of archived Ch 10 / Ch 12 / Ch 18 under the ontology-web framing.
Rerun convention: original briefs stay archived as historical record. Each rerun is a NEW brief with a fresh Ch number that anchors to the original as predecessor and frames “what’s different now”. Original deliverables are preserved verbatim; reruns produce NEW deliverables that may revise prior verdicts.
2026-06-01 (Ch 39-41) — pre-ingestion gate for the unified model. The full security & GRC framework corpus is assembled, and the unified-model assumptions (most pointedly “is CRI the spine?”) were inherited rather than tested. Run roughly in order 39 → 40 → 41.
2026-06-14 (Ch 42) — surfaced while making the system model’s render() diagram honest: layout assumes known depth, so variable / ragged-depth hierarchy is not first-class. Current state in the open-question log.
2026-08-19 (Ch 45) — the goal driving every milestone since v0.1.1 (Crosswalker running resiliently at the owner’s organization) had never been decomposed. Filed after a sequencing question in the P-queue sitting turned out to have no written answer. Deliberately a subtraction exercise: separate real blockers from irritations. Note it carries an owner-input section; parts cannot be answered from the repository.
2026-08-19 (Ch 44) — filed from the re-entry sprint that landed the July work. Two gaps found while running the gates: plugin E2E never runs in CI, and no screenshot anywhere is diffed against a baseline. Framed deliberately as coverage/detection/cost rather than as a framework comparison.
2026-07-11 (Ch 43) — Act 2 of the five-act lifecycle arc (“your ontology updates and your world survives”). The match-pass / impact-pass / review / apply sketch is architect-drafted, not stress-tested against how NIST, MITRE, and CIS actually ship version deltas.
2026-08-26 (Ch 46) — filed after six framework recipes were rewritten in one sprint and every one of them hit the transform grammar’s ceiling. Framed deliberately at the level of data shapes rather than file formats, to rule out the filter-wishlist answer. Framed and shipped 2026-08-27; the brief is archived below.
Resolved and archived (25)
Section titled “Resolved and archived (25)”Briefs resolved by a research deliverable and a corresponding decision log. Each is preserved verbatim (still re-runnable) and carries a resolution callout pointing at the resolving log. They live in zz-challenges/archive/.
| Ch | Challenge | Resolved | Verdict in one line |
|---|---|---|---|
| 05 | The transformation problem | 2026-05-03 | Resolved by the Ch 20 import-primitive synthesis: data has fundamental forms; ETL is tree-to-tree mapping; primitives are tree transducers |
| 06 | Pairwise vs synthetic spine | 2026-05-01 | Deferred-spine hybrid: pairwise-first with an optional inheritable spine, SCF as default, SSSOM-on-markdown persistence |
| 07 | Link metadata / edge model | 2026-04-10 | Junction notes (edge-as-note reification) with a 13-field schema isomorphic to OSCAL by-component |
| 08 | Git history audit-trail tenability | 2026-05-02 | Augment-not-replace (TSA + WORM + cert-export at Tier 1); v0.1 default = T1 git + signed commits |
| 09 | UUID / CWUUID cross-cutting strategy | 2026-05-02 | UUIDv7 + sha256 CIDs + CURIEs + ORCIDs adopted; CWUUID display-only |
| 10 | Graph→tabular bridging engine | 2026-05-02 | Resolved via cascade (Ch 11 + Ch 14 + Ch 16 → v0.1 stack pivot); rerun as Ch 35 |
| 11 | Tier 2/3 engine deep survey | 2026-05-02 | 3 fresh-agent deliverables + Ch 14 follow-on; layered Tier 2 + Fuseki/oxigraph-server Tier 3 |
| 12 | Datalog vs SQL for SSSOM chain rules | 2026-05-02 | 2 convergent deliverables; Datalog (Nemo) primary + OxO2 architecture; rerun as Ch 36 |
| 13 | Modern attestation primitives | 2026-05-02 | Confirms Ch 08 and adds in-toto; absorbed into the v0.1 audit decision |
| 14 | Missed engines evaluation | 2026-05-02 | Keep the Ch 11 layered Tier 2 stack + add Tier 2-Lite + Comunica federation |
| 15 | Audit-trail alternatives without external git tooling | 2026-05-02 | 4-tier model with OpenTimestamps as the T2 default |
| 16 | Tier 3 stack reconsideration | 2026-05-02 | Demote Apache AGE; promote Fuseki + oxigraph-server |
| 18 | Tier 2-Lite SSSOM rule subset and scale ceiling | 2026-05-02 | Rule expressivity matrix + ~100K mapping ceiling; Tier 2-Lite promoted to default-bundled v0.1 sidecar; rerun as Ch 37 |
| 19 | Over-engineering stress test | 2026-05-02 | ”Radically simplify with a narrow tiered escape hatch” — drove the v0.1 stack pivot |
| 20 | Import primitive formal foundation | 2026-05-03 | 3 deliverables + dialog; transformation-algebra layer (RML retargeted, 5-6 primitives, MTT-justified) plus boundary-semantics layer (ref/resolve/bind/seal) |
| 22 | Target-structure expressivity | 2026-05-04 | Closed grammar of 5 mechanisms × ordered layout × also_emit × graph_edges; render(Recipe, ConceptIdentity) → Address as the single coupling point (commitment #2) |
| 23 | Bundle engine implementation language | 2026-05-04 | Path A (pure TS in-plugin) for v0.1; Path C (optional external producer) reserved for v0.5+ (commitment #3) |
| 24 | Turso / libSQL evaluation | 2026-05-04 | REJECT all three questions; stay on @sqlite.org/sqlite-wasm + sqlite-vec (commitment #4) |
| 25 | Two-mode import architecture and streaming | 2026-05-05 | Both modes supported: bundled projector (Mode 1) and direct Tier 1 emission (Mode 2); no Tier 0.5 intermediate schema. Filed and resolved the same session |
| 26 | Transform engine depth + input formats | 2026-05-05 | In-plugin transform stops at v0.3 (closed 7-filter set + JSONata 2.x); JSONaut / ChunkyCSV stay external Mode 1 feeders; JSONL ships as a v0.2 input format. Filed and resolved the same session |
| 38 | Query state location + folder-note pattern | 2026-05-18 | Layout B+ (_crosswalker/queries/<slug>/index.md + explicit ![[<slug>/view.base]] embed); literal folder-note magic-embed rejected — see synthesis log |
| 43 | Version migration — the semantic-diff loop | 2026-08-27 | Release change is re-attestation first; before-state lives on the attestation; structural lineage is a release-to-release crosswalk using superseded_by — see deliverable A · deliverable B · synthesis |
| 44 | E2E testing strategy | 2026-08-24 | Keep the Playwright/WebdriverIO split; adopt visual regression narrowly with maintenance budgets; stay serial until the harness is isolated; tiered CI per surface — see deliverable · synthesis |
| 45 | Org rollout readiness | 2026-08-21 | A controlled desktop pilot is viable now; automated audit-defensible evidence-gap reporting is not — see deliverable · synthesis |
| 46 | The transform engine and the shapes of data | 2026-08-27 | Transformation is not one thing, so it does not get one home: value-shaping stays in templates, collection-shaping extends the source contract through optional source.where and source.joins, JSONata adopted only at those sites, template grammar frozen — see framing · delivery |
Related
Section titled “Related”- Research deliverables (
zz-research/) — verbatim fresh-agent outputs answering these briefs - Decision log (
zz-log/) — dated synthesis entries that close challenges - Roadmap and v0.1 milestones — where resolved verdicts become work