@a-company/paradigm 3.17.2 → 3.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/chunk-3DYYXGDC.js +403 -0
  2. package/dist/{chunk-ZRPEI35Q.js → chunk-BKMNLROM.js} +533 -5
  3. package/dist/{chunk-IWDLTLZH.js → chunk-BRILIG7Z.js} +155 -32
  4. package/dist/{chunk-D4VBBKGV.js → chunk-EZ6XW6FB.js} +150 -409
  5. package/dist/{delete-KBKPTIMU.js → delete-YTASL4SM.js} +3 -3
  6. package/dist/{dist-YHDSIZQD.js → dist-IKBGY7FQ.js} +3 -1
  7. package/dist/{edit-Y6SKWVHI.js → edit-S7NZD7H7.js} +1 -1
  8. package/dist/index.js +18 -10
  9. package/dist/{list-SLAH7X7N.js → list-CAL7KS7B.js} +3 -3
  10. package/dist/lore-loader-S5BXMH27.js +21 -0
  11. package/dist/{lore-server-WFU4H5DI.js → lore-server-2NYDLGCJ.js} +102 -17
  12. package/dist/mcp.js +503 -147
  13. package/dist/migrate-assessments-FPR6C35Z.js +97 -0
  14. package/dist/{record-PLZ2OQAN.js → record-UGN75GTB.js} +10 -7
  15. package/dist/{reindex-T4N3NG73.js → reindex-CMZARW5K.js} +2 -1
  16. package/dist/retag-URLJLMSK.js +62 -0
  17. package/dist/{review-Z4Z37PD5.js → review-725ZKA7U.js} +1 -1
  18. package/dist/{serve-BU43NO7D.js → serve-GUJ3L3IG.js} +1 -1
  19. package/dist/{show-WGDIK56Q.js → show-GEVVQWWG.js} +54 -5
  20. package/dist/{timeline-X3CZM7MW.js → timeline-B6TMGWRU.js} +9 -8
  21. package/dist/university-content/courses/para-501.json +30 -30
  22. package/dist/university-content/plsat/v3.0.json +26 -26
  23. package/lore-ui/dist/assets/{index-CB4RregB.js → index-CDr7Tr1E.js} +10 -10
  24. package/lore-ui/dist/index.html +1 -1
  25. package/package.json +1 -1
  26. package/dist/assessment-loader-C5EOUM47.js +0 -23
  27. package/dist/chunk-DSXS42FY.js +0 -283
@@ -2224,17 +2224,17 @@
2224
2224
  "variants": [
2225
2225
  {
2226
2226
  "id": "plsat-091",
2227
- "scenario": "An agent finishes a debugging session and wants to record the root cause and resolution as a lasting insight. The team already has an assessment arc called `arc-auth-hardening` tracking authentication improvements. The agent calls `paradigm_assessment_record` with `type: \"insight\"`, `arc_id: \"arc-auth-hardening\"`, and a summary of the fix. Three entries already exist across all arcs today (2026-04-02).",
2228
- "question": "What entry ID is assigned, and where is the file stored?",
2227
+ "scenario": "An agent finishes a debugging session and wants to record the root cause and resolution as a lasting insight, grouped under the `arc:auth-hardening` arc. The agent calls `paradigm_lore_record` with `type: \"insight\"`, `tags: [\"arc:auth-hardening\", \"assessment:insight\"]`, a summary, and a body with the detailed analysis. The author is `ascend` and the timestamp is `2026-04-02T16:30:00Z`.",
2228
+ "question": "Where is the entry stored, and how does the arc grouping work?",
2229
2229
  "choices": {
2230
- "A": "A-2026-04-02-001 stored in `.paradigm/assessments/arcs/arc-auth-hardening/entries/A-2026-04-02-001.yaml` \u2014 entry IDs are sequential per arc.",
2231
- "B": "A-2026-04-02-004 stored in `.paradigm/assessments/arcs/arc-auth-hardening/entries/A-2026-04-02-004.yaml` \u2014 entry IDs are globally unique across all arcs.",
2232
- "C": "I-2026-04-02-004 stored in `.paradigm/assessments/insights/I-2026-04-02-004.yaml` \u2014 insights have their own prefix and directory.",
2233
- "D": "A-auth-hardening-004 stored in `.paradigm/assessments/entries/A-auth-hardening-004.yaml` \u2014 entry IDs embed the arc name.",
2234
- "E": "A-2026-04-02-004 stored in `.paradigm/assessments/entries/2026-04-02/A-2026-04-02-004.yaml` \u2014 entries are grouped by date, not arc."
2230
+ "A": "Stored in `.paradigm/assessments/arcs/arc-auth-hardening/entries/` \u2014 arcs have their own storage directories.",
2231
+ "B": "Stored in `.paradigm/lore/entries/2026-04-02/` as a `.lore` file \u2014 arcs are just tag prefixes, not separate storage.",
2232
+ "C": "Stored in `.paradigm/lore/arcs/auth-hardening/` \u2014 arc entries get their own subdirectory.",
2233
+ "D": "Stored in `.paradigm/lore/entries/` root directory \u2014 no date partitioning for arc entries.",
2234
+ "E": "Stored in both `.paradigm/lore/` and `.paradigm/assessments/` \u2014 the system maintains backward compatibility."
2235
2235
  },
2236
2236
  "correct": "B",
2237
- "explanation": "Assessment entry IDs follow the format A-YYYY-MM-DD-NNN where NNN is globally unique across ALL arcs \u2014 the ID generator scans every arc's entries directory to determine the next sequence number. Since three entries already exist today, this one gets A-2026-04-02-004. The file is stored under the arc's own entries directory at `.paradigm/assessments/arcs/arc-auth-hardening/entries/A-2026-04-02-004.yaml`. This global uniqueness guarantees that an entry ID alone is sufficient to locate any assessment entry without knowing which arc it belongs to."
2237
+ "explanation": "All lore entries are stored in `.paradigm/lore/entries/{date}/` as `.lore` files, regardless of their tags. Arcs are simply tag prefixes (e.g., `arc:auth-hardening`) \u2014 they require no separate directory structure or management. To find all entries in an arc, use `paradigm_lore_search` with `tag: \"arc:auth-hardening\"`. This unified storage eliminates the complexity of a separate assessment system while preserving full arc-based organization through tags."
2238
2238
  }
2239
2239
  ]
2240
2240
  },
@@ -2245,17 +2245,17 @@
2245
2245
  "variants": [
2246
2246
  {
2247
2247
  "id": "plsat-092",
2248
- "scenario": "A developer asks their agent to record a retrospective about a failed deployment. The agent calls `paradigm_assessment_record` with `type: \"retro\"`, `arc_name: \"Q1 Platform Stability\"`, but does NOT provide an `arc_id`. No arc for platform stability exists yet.",
2249
- "question": "What happens when `arc_name` is provided without an `arc_id` to `paradigm_assessment_record`?",
2248
+ "scenario": "A developer wants to record retrospectives about a failed deployment. They have no prior entries tagged with `arc:platform-stability`. The agent calls `paradigm_lore_record` with `type: \"retro\"`, `tags: [\"arc:platform-stability\", \"assessment:retro\"]`, a title, summary, and body describing the failure and lessons learned.",
2249
+ "question": "What happens when you use a new arc tag that no prior entries have?",
2250
2250
  "choices": {
2251
- "A": "The call fails with an error \u2014 `arc_id` is always required when recording an entry.",
2252
- "B": "The entry is recorded as an orphan in `.paradigm/assessments/unassigned/`.",
2253
- "C": "The tool auto-creates a new arc (deriving an arc_id like `arc-q1-platform-stability` from the name) and records the entry inside it.",
2254
- "D": "The tool searches existing arcs by name and fails if no exact match is found.",
2255
- "E": "The entry is recorded with a temporary arc_id that must be manually linked later."
2251
+ "A": "The call fails \u2014 arcs must be explicitly created before tagging entries.",
2252
+ "B": "The entry is recorded normally \u2014 arcs are just tag prefixes, no creation step needed. The arc exists as soon as an entry has the tag.",
2253
+ "C": "The system auto-creates a `.paradigm/lore/arcs/platform-stability/` directory to track the arc.",
2254
+ "D": "The entry is recorded but flagged as orphaned until an arc is formally registered.",
2255
+ "E": "The tag is rejected because it does not match an existing arc in the arc registry."
2256
2256
  },
2257
- "correct": "C",
2258
- "explanation": "When `arc_name` is provided without an `arc_id`, `paradigm_assessment_record` auto-creates the arc. The arc_id is derived by converting the name to kebab-case and prefixing with `arc-` (validated against `/^arc-[a-z0-9-]+$/`). This creates the arc directory structure at `.paradigm/assessments/arcs/arc-q1-platform-stability/` with an `arc.yaml` and the entry in its `entries/` subdirectory. This convenience behavior reduces friction \u2014 agents can record assessments without a separate arc creation step."
2257
+ "correct": "B",
2258
+ "explanation": "Arcs in the unified lore system are simply tag prefixes \u2014 no explicit creation needed. The first entry tagged with `arc:platform-stability` effectively creates that arc. To find all entries in this arc later, use `paradigm_lore_search` with `tag: \"arc:platform-stability\"`. To close the arc, add `arc-closed` and `arc-status:complete` tags to its entries. This tag-based approach eliminates the overhead of managing separate arc directories and YAML files."
2259
2259
  }
2260
2260
  ]
2261
2261
  },
@@ -2266,17 +2266,17 @@
2266
2266
  "variants": [
2267
2267
  {
2268
2268
  "id": "plsat-093",
2269
- "scenario": "Your project has been running for six months. The codebase has 200+ commits (raw facts in git), 45 lore entries (session-level events captured by the post-commit hook), and 12 assessment entries across 3 arcs (synthesized insights from retrospectives and decisions). A new team member asks how these three layers relate to each other.",
2270
- "question": "Which statement BEST describes Paradigm's three-layer knowledge model?",
2269
+ "scenario": "Your project has been running for six months. The codebase has 200+ commits in git and 57 lore entries: 45 are `agent-session` type (automatic session records), 8 have `arc:*` tags (retrospectives and insights grouped into thematic arcs), and 4 are `decision` type (architectural decisions). A new team member asks how lore's different entry types and tags work together.",
2270
+ "question": "Which statement BEST describes Paradigm's unified lore model?",
2271
2271
  "choices": {
2272
- "A": "Commits, lore, and assessments are independent systems \u2014 they share no data and serve different audiences.",
2273
- "B": "Lore replaces commit messages with richer context, and assessments replace lore when insights are finalized.",
2274
- "C": "Commits capture raw facts (what changed), lore captures session-level events (what happened and why), and assessments synthesize cross-session insights (what we learned) \u2014 each layer builds on the one below it.",
2275
- "D": "Assessments are the authoritative layer \u2014 commits and lore are temporary and should be pruned once assessments exist.",
2276
- "E": "Lore and assessments are both subsets of the commit history, just filtered by different criteria."
2272
+ "A": "Lore entries are all the same \u2014 tags are purely cosmetic and do not affect searching or organization.",
2273
+ "B": "Lore is the single project memory system. Entry types classify the nature of knowledge (session, retro, insight, decision), while tags like `arc:*` group related entries into themes \u2014 both are filterable via `paradigm_lore_search`.",
2274
+ "C": "Session entries and reflection entries are stored in separate directories, with tags used only for cross-referencing between them.",
2275
+ "D": "The `arc:*` tags are managed by a separate arc subsystem that must be initialized before use.",
2276
+ "E": "Entry types are deprecated \u2014 tags alone drive all classification in the new model."
2277
2277
  },
2278
- "correct": "C",
2279
- "explanation": "Paradigm's three-layer knowledge model is: Commits (raw facts \u2014 what code changed, captured by git), Lore (session events \u2014 what happened during a work session and why, captured by the post-commit hook into `.paradigm/history/`), and Assessments (synthesized insight \u2014 what the team learned across multiple sessions, recorded into `.paradigm/assessments/`). Each layer adds interpretation: commits are mechanical diffs, lore adds narrative context, and assessments distill patterns and decisions. All three layers persist and remain valuable \u2014 none replaces or supersedes the others."
2278
+ "correct": "B",
2279
+ "explanation": "Paradigm's unified lore model uses one system with two classification axes: entry `type` classifies the nature of the knowledge (agent-session for automated records, retro for retrospectives, insight for patterns, decision for choices, etc.), while tags provide flexible grouping (arc:* for thematic arcs, assessment:* for reflection type, plus arbitrary project tags). Both are searchable via `paradigm_lore_search` \u2014 you can filter by type, tag prefix, symbol, author, and date range. All entries live in the same `.paradigm/lore/entries/` directory structure regardless of type or tags."
2280
2280
  }
2281
2281
  ]
2282
2282
  },