@synap-core/workspace-templates 0.29.0 → 0.30.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.
package/dist/index.js CHANGED
@@ -5276,6 +5276,129 @@ var DATA = {
5276
5276
  }
5277
5277
  ]
5278
5278
  },
5279
+ {
5280
+ "slug": "finding",
5281
+ "displayName": "Finding",
5282
+ "icon": "bug",
5283
+ "color": "#F97316",
5284
+ "description": "A problem report or feedback item, with a severity, raised against our own product or process. Moves open \u2192 fixing \u2192 fixed \u2192 verified, or won't fix / superseded.",
5285
+ "scope": "shared",
5286
+ "entityScope": "pod",
5287
+ "profileKind": "kind",
5288
+ "lifecycle": {
5289
+ "property": "status",
5290
+ "options": [
5291
+ {
5292
+ "key": "open",
5293
+ "category": "open"
5294
+ },
5295
+ {
5296
+ "key": "fixing",
5297
+ "category": "active"
5298
+ },
5299
+ {
5300
+ "key": "fixed",
5301
+ "category": "done"
5302
+ },
5303
+ {
5304
+ "key": "verified",
5305
+ "category": "done"
5306
+ },
5307
+ {
5308
+ "key": "wont_fix",
5309
+ "category": "lost",
5310
+ "humanOnly": true
5311
+ },
5312
+ {
5313
+ "key": "superseded",
5314
+ "category": "lost",
5315
+ "humanOnly": true
5316
+ }
5317
+ ]
5318
+ },
5319
+ "properties": [
5320
+ {
5321
+ "slug": "status",
5322
+ "label": "Status",
5323
+ "valueType": "string",
5324
+ "inputType": "select",
5325
+ "enumValues": [
5326
+ "open",
5327
+ "fixing",
5328
+ "fixed",
5329
+ "verified",
5330
+ "wont_fix",
5331
+ "superseded"
5332
+ ],
5333
+ "constraints": {
5334
+ "defaultValue": "open"
5335
+ }
5336
+ },
5337
+ {
5338
+ "slug": "severity",
5339
+ "label": "Severity",
5340
+ "valueType": "string",
5341
+ "inputType": "select",
5342
+ "enumValues": [
5343
+ "low",
5344
+ "medium",
5345
+ "high",
5346
+ "critical"
5347
+ ]
5348
+ },
5349
+ {
5350
+ "slug": "area",
5351
+ "label": "Product area",
5352
+ "valueType": "string",
5353
+ "inputType": "text",
5354
+ "description": "Where it hurts: pod, mcp, bridge, cli, relay, browser, pod-admin, control-plane, governance, infra, process."
5355
+ },
5356
+ {
5357
+ "slug": "evidence",
5358
+ "label": "Evidence",
5359
+ "valueType": "string",
5360
+ "inputType": "textarea",
5361
+ "constraints": {
5362
+ "maxLength": 2e3
5363
+ },
5364
+ "description": "Proposal, session, file:line, log line or URL that shows it."
5365
+ },
5366
+ {
5367
+ "slug": "summary",
5368
+ "label": "Summary",
5369
+ "valueType": "string",
5370
+ "inputType": "text",
5371
+ "constraints": {
5372
+ "maxLength": 500
5373
+ }
5374
+ },
5375
+ {
5376
+ "slug": "description",
5377
+ "label": "Description",
5378
+ "valueType": "string",
5379
+ "inputType": "textarea",
5380
+ "constraints": {
5381
+ "maxLength": 5e3
5382
+ }
5383
+ },
5384
+ {
5385
+ "slug": "content",
5386
+ "label": "Content",
5387
+ "valueType": "string",
5388
+ "inputType": "textarea",
5389
+ "constraints": {
5390
+ "maxLength": 5e4
5391
+ }
5392
+ },
5393
+ {
5394
+ "slug": "supersededby",
5395
+ "label": "Superseded by",
5396
+ "valueType": "entity_id",
5397
+ "inputType": "entity_select",
5398
+ "description": "The record that replaced this finding: the canonical finding it duplicates, or the correct diagnosis when this one was wrong. Recall leaves a superseded finding out."
5399
+ }
5400
+ ]
5401
+ },
5279
5402
  {
5280
5403
  "slug": "skill",
5281
5404
  "displayName": "Skill",
@@ -7954,6 +8077,47 @@ var DATA = {
7954
8077
  "description": "Shared land stage. Never report unverified work as verified. File the lesson, decision or finding the work produced (engineering-memory skill, rule dogfood-journal). Close what you opened: asks answered or withdrawn, worktree removed once merged, then synap_complete_session. Tools: synap_update_session, synap_capture, synap_complete_session. Gate: none. Model tier: quick (advisory until a tier field exists)."
7955
8078
  }
7956
8079
  ]
8080
+ },
8081
+ {
8082
+ "name": "Fix a finding",
8083
+ "description": "Work one finding (a problem with Synap itself) until its fix is live. The session's stages move the finding: fixing while the work runs, fixed when the fix is merged, verified once it runs on the pod. A cancelled or failed session leaves the finding where it is.",
8084
+ "goalTemplate": "Fix the finding and see the fix live",
8085
+ "scope": "session",
8086
+ "subjectProfile": {
8087
+ "profileSlug": "finding",
8088
+ "statusProperty": "status"
8089
+ },
8090
+ "humanOnlyStatuses": [
8091
+ "open",
8092
+ "wont_fix",
8093
+ "superseded"
8094
+ ],
8095
+ "params": [],
8096
+ "executor": "is-agent",
8097
+ "status": "active",
8098
+ "stages": [
8099
+ {
8100
+ "key": "fix",
8101
+ "name": "Fix it",
8102
+ "goal": "Find the root cause and ship the fix as a gated PR or commit",
8103
+ "category": "started",
8104
+ "subjectStatus": "fixing"
8105
+ },
8106
+ {
8107
+ "key": "merged",
8108
+ "name": "Fix merged",
8109
+ "goal": "The fix is on main (a merged PR or a gated commit)",
8110
+ "category": "started",
8111
+ "subjectStatus": "fixed"
8112
+ },
8113
+ {
8114
+ "key": "verified",
8115
+ "name": "Live and verified",
8116
+ "goal": "The fix runs on the pod (its build contains the fix) and the finding no longer happens",
8117
+ "category": "completed",
8118
+ "subjectStatus": "verified"
8119
+ }
8120
+ ]
7957
8121
  }
7958
8122
  ],
7959
8123
  "onboarding": {
@@ -30196,7 +30360,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30196
30360
  "profile": "hypothesis"
30197
30361
  },
30198
30362
  {
30199
- "profile": "finding"
30363
+ "profile": "research-finding"
30200
30364
  }
30201
30365
  ]
30202
30366
  }
@@ -30492,7 +30656,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30492
30656
  ]
30493
30657
  },
30494
30658
  {
30495
- "slug": "finding",
30659
+ "slug": "research-finding",
30496
30660
  "displayName": "Finding",
30497
30661
  "icon": "check-circle",
30498
30662
  "color": "#10B981",
@@ -30562,7 +30726,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30562
30726
  "scopeProfileSlugs": [
30563
30727
  "field",
30564
30728
  "concept",
30565
- "finding"
30729
+ "research-finding"
30566
30730
  ],
30567
30731
  "description": "The cartography \u2014 fields and concepts, their overlaps and prerequisites, and the findings attached to them.",
30568
30732
  "defaultView": true,
@@ -30616,7 +30780,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30616
30780
  "name": "Findings",
30617
30781
  "slug": "research-findings",
30618
30782
  "type": "table",
30619
- "scopeProfileSlug": "finding",
30783
+ "scopeProfileSlug": "research-finding",
30620
30784
  "description": "What's been established, with its confidence.",
30621
30785
  "config": {
30622
30786
  "columns": [
@@ -30686,7 +30850,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30686
30850
  },
30687
30851
  {
30688
30852
  "sourceProfileSlug": "research",
30689
- "targetProfileSlug": "finding",
30853
+ "targetProfileSlug": "research-finding",
30690
30854
  "type": "concluded",
30691
30855
  "label": "Concluded"
30692
30856
  },
@@ -30709,19 +30873,19 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30709
30873
  "label": "Cites"
30710
30874
  },
30711
30875
  {
30712
- "sourceProfileSlug": "finding",
30876
+ "sourceProfileSlug": "research-finding",
30713
30877
  "targetProfileSlug": "research",
30714
30878
  "type": "derived_from",
30715
30879
  "label": "Derived from"
30716
30880
  },
30717
30881
  {
30718
- "sourceProfileSlug": "finding",
30882
+ "sourceProfileSlug": "research-finding",
30719
30883
  "targetProfileSlug": "source",
30720
30884
  "type": "supported_by",
30721
30885
  "label": "Supported by"
30722
30886
  },
30723
30887
  {
30724
- "sourceProfileSlug": "finding",
30888
+ "sourceProfileSlug": "research-finding",
30725
30889
  "targetProfileSlug": "concept",
30726
30890
  "type": "about",
30727
30891
  "label": "About"
@@ -30731,7 +30895,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30731
30895
  {
30732
30896
  "name": "Research a Question",
30733
30897
  "description": "Investigate a question end-to-end \u2014 gather and rank sources (keeping the rejected ones), weigh hypotheses, emit findings with calibrated confidence, and map them onto the knowledge graph.",
30734
- "goalTemplate": "Investigate the question {question} and record the WHOLE investigation, not just the answer; each stage moves the question's status. FRAME: restate the question so it can be answered, and say what evidence would answer it. GATHER: use the source-triage skill to gather sources widely via web search, classify each by type and credibility, and create a `source` entity for every one \u2014 including the ones you rejected, marked rejected with a reason (never silently drop a source). WEIGH: form the candidate answers as `hypothesis` entities that answer the question; link every source that bears on a hypothesis with `supports` or `contradicts`; use the evidence-synthesis skill to emit `finding` entities with honestly calibrated confidence, each `supported_by` its sources and `derived_from` this research; use the concept-cartography skill to place the findings onto the knowledge map. ANSWER: create the `research` entity that `investigates` the question and `explored` the sources, write its conclusion and confidence, and set the question to answered. Abandoning a question is a person's call. Every write is proposal-gated and reviewable.",
30898
+ "goalTemplate": "Investigate the question {question} and record the WHOLE investigation, not just the answer; each stage moves the question's status. FRAME: restate the question so it can be answered, and say what evidence would answer it. GATHER: use the source-triage skill to gather sources widely via web search, classify each by type and credibility, and create a `source` entity for every one \u2014 including the ones you rejected, marked rejected with a reason (never silently drop a source). WEIGH: form the candidate answers as `hypothesis` entities that answer the question; link every source that bears on a hypothesis with `supports` or `contradicts`; use the evidence-synthesis skill to emit `research-finding` entities with honestly calibrated confidence, each `supported_by` its sources and `derived_from` this research; use the concept-cartography skill to place the findings onto the knowledge map. ANSWER: create the `research` entity that `investigates` the question and `explored` the sources, write its conclusion and confidence, and set the question to answered. Abandoning a question is a person's call. Every write is proposal-gated and reviewable.",
30735
30899
  "subjectProfile": {
30736
30900
  "profileSlug": "question",
30737
30901
  "statusProperty": "questionStatus"
@@ -30852,7 +31016,7 @@ Recent conversation (oldest first, JSON): {{steps.read-comms.output.messages}}`
30852
31016
  "description": "When a finding is validated, propose the posts that would share it, each linked to the finding.",
30853
31017
  "goalTemplate": "Turn this validated finding ({finding}) into content. Read the finding, its sources and the research it came from. Propose one to three posts that share it with the audience \u2014 each created at the Idea status, on the pillar it fits, with its hook and the reason it is worth making \u2014 and link each one derived_from the finding. Quote only what the sources support.",
30854
31018
  "subjectProfile": {
30855
- "profileSlug": "finding",
31019
+ "profileSlug": "research-finding",
30856
31020
  "statusProperty": "status"
30857
31021
  },
30858
31022
  "activators": [