Jesús Pérez 0396e4037b
Some checks failed
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
chore: add ontology and reflection
2026-03-13 00:21:04 +00:00

130 lines
3.9 KiB
Plaintext

let actor_kind_type = [|
'Human,
'AgentClaude,
'AgentCustom,
'CI,
|] in
let kind_type = [|
'done,
'plan,
'info,
'review,
'audit,
'commit,
'unknown,
|] in
let category_type = [|
'Inbox,
'Insight,
'Feature,
'Bugfix,
'Investigation,
'Decision,
'Review,
'Resource,
|] in
let content_role_type = [|
'ProcessMemory,
'KnowledgeBase,
'Resource,
|] in
# ── Author ──────────────────────────────────────────────────────────────────
# .coder/<author>/author.ncl
let author_type = {
name | String,
actor | actor_kind_type,
model | String | default = "",
contact | String | default = "",
} in
# ── Category context ────────────────────────────────────────────────────────
# .coder/<author>/<category>/context.ncl
let context_type = {
category | category_type,
role | content_role_type | default = 'ProcessMemory,
description | String | default = "",
graduable | Bool | default = false,
} in
# ── Entry (companion NCL) ──────────────────────────────────────────────────
# Generated by `coder triage` next to each .md file.
# {filename}.ncl is the companion for {filename}.md
#
# Extracted from:
# - filename → date, kind
# - first line of markdown → title
# - content keywords → tags
# - author workspace → author
# - triage target → category
let entry_type = {
title | String,
date | String | default = "",
author | String,
kind | kind_type | default = 'unknown,
category | category_type,
tags | Array String | default = [],
relates_to | Array String | default = [],
supersedes | String | default = "",
source | String | default = "",
} in
# ── Domain (for insights) ────────────────────────────────────────────────
let domain_type = [|
'Language,
'Runtime,
'Architecture,
'Tooling,
'Pattern,
'Debugging,
'Security,
'Performance,
|] in
# ── Record context ───────────────────────────────────────────────────────
# Captures the session context in which a record was generated.
let record_context_type = {
trigger | String | default = "",
files_touched | Array String | default = [],
} in
# ── Record (JSON entry) ─────────────────────────────────────────────────
# Generated by `coder record` — stored in entries.jsonl per category.
# Self-contained: no companion NCL needed.
# Superset of Entry: adds content, context, and optional insight fields.
let record_type = {
title | String,
date | String | default = "",
author | String,
kind | kind_type | default = 'unknown,
category | String,
tags | Array String | default = [],
relates_to | Array String | default = [],
content | String,
context | record_context_type | optional,
domain | domain_type | optional,
reusable | Bool | optional,
} in
{
ActorKind = actor_kind_type,
Kind = kind_type,
Category = category_type,
ContentRole = content_role_type,
Domain = domain_type,
Author = author_type,
Context = context_type,
Entry = entry_type,
RecordContext = record_context_type,
Record = record_type,
}