aiki-cli 0.3.1 → 0.3.3

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 (59) hide show
  1. package/CHANGELOG.md +80 -5
  2. package/README.md +73 -15
  3. package/dist/bench/idea-v3-bench.js +104 -5
  4. package/dist/bench/idea-v3-rating.js +159 -4
  5. package/dist/cli/bench.js +5 -5
  6. package/dist/cli/index.js +12 -2
  7. package/dist/cli/resume.js +20 -0
  8. package/dist/cli/run.js +76 -5
  9. package/dist/cli/serve.js +48 -0
  10. package/dist/config/config.js +7 -2
  11. package/dist/council/view.js +64 -15
  12. package/dist/orchestration/auto-profile.js +97 -0
  13. package/dist/orchestration/claim-groups.js +56 -0
  14. package/dist/orchestration/context.js +69 -6
  15. package/dist/orchestration/decision-dossier.js +450 -89
  16. package/dist/orchestration/decision-graph.js +33 -2
  17. package/dist/orchestration/engine.js +8 -4
  18. package/dist/orchestration/evidence-origin.js +17 -0
  19. package/dist/orchestration/jsonStage.js +47 -5
  20. package/dist/orchestration/legacy-idea-adapter.js +3 -0
  21. package/dist/orchestration/modes.js +18 -10
  22. package/dist/orchestration/preflight.js +36 -3
  23. package/dist/orchestration/quick-analysis.js +29 -7
  24. package/dist/orchestration/sanitize-paths.js +10 -0
  25. package/dist/orchestration/stages/s10-render.js +196 -84
  26. package/dist/orchestration/stages/s4-analyze.js +10 -2
  27. package/dist/orchestration/stages/s4b-challenge.js +97 -0
  28. package/dist/orchestration/stages/s5-drift.js +13 -3
  29. package/dist/orchestration/stages/s6-positions.js +18 -0
  30. package/dist/orchestration/stages/s7-decision-graph.js +3 -0
  31. package/dist/orchestration/stages/s8-verify.js +66 -12
  32. package/dist/orchestration/stages/s8b-rebuttal.js +11 -4
  33. package/dist/orchestration/stages/s9-judge.js +52 -14
  34. package/dist/orchestration/stages/s9b-plan.js +227 -48
  35. package/dist/orchestration/url-sources.js +21 -0
  36. package/dist/providers/adapter-core.js +1 -1
  37. package/dist/providers/claude.js +18 -0
  38. package/dist/schemas/index.js +112 -3
  39. package/dist/serve/flight-deck.js +830 -0
  40. package/dist/serve/followup.js +50 -0
  41. package/dist/serve/frames.js +168 -0
  42. package/dist/serve/gates.js +72 -0
  43. package/dist/serve/projections.js +283 -0
  44. package/dist/serve/server.js +219 -0
  45. package/dist/serve/threads.js +145 -0
  46. package/dist/serve-ui/Five.png +0 -0
  47. package/dist/serve-ui/app.js +820 -0
  48. package/dist/serve-ui/index.html +171 -0
  49. package/dist/serve-ui/workspace.css +662 -0
  50. package/dist/skills/idea-refinement/analyst.md +5 -5
  51. package/dist/skills/idea-refinement/chair.md +18 -0
  52. package/dist/skills/idea-refinement/economics-delivery.md +11 -0
  53. package/dist/skills/idea-refinement/market-adoption.md +12 -0
  54. package/dist/skills/idea-refinement/planner.md +25 -19
  55. package/dist/skills/idea-refinement/rebuttal.md +15 -0
  56. package/dist/skills/idea-refinement/verifier.md +17 -0
  57. package/dist/storage/runs.js +2 -1
  58. package/dist/workflows/idea-refinement.js +130 -24
  59. package/package.json +2 -2
@@ -0,0 +1,171 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <meta name="deck-token" content="__DECK_TOKEN__" />
7
+ <title>aiki — decision workspace</title>
8
+ <link rel="stylesheet" href="/workspace.css" />
9
+ </head>
10
+ <body>
11
+ <a class="skip-link" href="#conversation">Skip to conversation</a>
12
+
13
+ <div class="workspace" role="application" aria-label="aiki decision workspace">
14
+ <!-- Left — Sessions rail -->
15
+ <aside id="sessions-rail" class="rail" aria-label="Sessions and provider status">
16
+ <header class="rail__head">
17
+ <span class="brand" aria-hidden="true">a</span>
18
+ <span class="rail__id">
19
+ <span class="wordmark">aiki</span>
20
+ <span class="rail__sub">serve · localhost</span>
21
+ </span>
22
+ <button class="btn btn--icon rail__close" type="button" data-close-panel aria-label="Close sessions">✕</button>
23
+ </header>
24
+
25
+ <button id="quorum" class="quorum" type="button" aria-live="polite" title="Council readiness">
26
+ <span class="lamp" data-tone="neutral"></span>
27
+ <span class="quorum__label">checking…</span>
28
+ </button>
29
+
30
+ <button id="new-decision" class="btn btn--primary" type="button">+ New decision</button>
31
+
32
+ <section class="providers" aria-label="Provider status">
33
+ <ul id="provider-list" class="providers__list"></ul>
34
+ <button id="check-connections" class="btn btn--ghost" type="button">
35
+ Check connections
36
+ <span class="btn__note">may make up to 3 tiny provider calls</span>
37
+ </button>
38
+ </section>
39
+
40
+ <nav class="threads" aria-label="Decision history">
41
+ <h2 class="eyebrow">Sessions</h2>
42
+ <ul id="thread-list" class="threads__list"></ul>
43
+ </nav>
44
+
45
+ <footer class="rail__foot">
46
+ <button id="settings-open" class="btn btn--icon" type="button" aria-label="Settings">⚙ Settings</button>
47
+ <span id="version" class="version"></span>
48
+ </footer>
49
+ </aside>
50
+
51
+ <!-- Center — Conversation -->
52
+ <main id="conversation" class="center" aria-label="Conversation">
53
+ <header class="center__head">
54
+ <button id="rail-toggle" class="btn btn--icon" type="button" aria-controls="sessions-rail" aria-expanded="false" aria-label="Sessions">☰</button>
55
+ <span id="session-title" class="center__title">New decision</span>
56
+ <span id="session-type" class="center__type" hidden></span>
57
+ <span class="center__ro" title="Providers run read-only"><span class="lamp" data-tone="green"></span>read-only</span>
58
+ <div id="header-models" class="center__models" aria-hidden="true"></div>
59
+ <button id="deck-toggle" class="btn btn--icon" type="button" aria-controls="council-deck" aria-expanded="false" aria-label="Council deck">
60
+ Deck <span class="lamp" data-tone="neutral"></span>
61
+ </button>
62
+ </header>
63
+
64
+ <div id="center-scroll" class="center__scroll">
65
+ <section id="empty-state" class="empty">
66
+ <img class="empty__art" src="/Five.png" alt="" aria-hidden="true" />
67
+ <div class="empty__mark" aria-hidden="true">a</div>
68
+ <h1 class="empty__title">A council, on call.</h1>
69
+ <p class="empty__lede">
70
+ Describe a decision and aiki convenes your installed models — they investigate,
71
+ disagree, and hand back a verdict you can audit. Pick a past session from the left,
72
+ or start a new one.
73
+ </p>
74
+ </section>
75
+ <article id="thread-view" class="thread-view thread-inner" hidden aria-live="polite"></article>
76
+ <div id="thinking" class="thinking" hidden aria-hidden="true">
77
+ <span class="thinking__mark">a</span>
78
+ <span class="thinking__body">
79
+ <span>The council is deliberating</span>
80
+ <span class="thinking__meta">working</span>
81
+ </span>
82
+ <span class="thinking__dots"><span></span><span></span><span></span></span>
83
+ </div>
84
+ </div>
85
+
86
+ <div class="composer-shell">
87
+ <form id="composer" class="composer">
88
+ <div id="attachment-chips" class="attachment-chips" aria-label="Attachments"></div>
89
+ <div class="composer__tools">
90
+ <button id="attach" class="btn btn--icon" type="button">+ Attach</button>
91
+ <label class="mode-select">
92
+ <span class="sr-only">Council mode</span>
93
+ <select id="mode">
94
+ <option value="quick">Quick · ~3 calls</option>
95
+ <option value="council" selected>Full Council · ~8–10 calls</option>
96
+ </select>
97
+ </label>
98
+ <span id="estimate" class="composer__estimate">8–10 calls · council of installed models</span>
99
+ </div>
100
+ <div class="composer__row">
101
+ <textarea id="decision-text" rows="1" maxlength="100000" required placeholder="Describe the decision, constraints, and what a good answer must include…"></textarea>
102
+ <button id="composer-send" class="btn btn--primary composer__send" type="submit" title="Convene" aria-label="Convene">↑</button>
103
+ </div>
104
+ <div class="composer__note">The council spends real provider calls · <strong>plain text is confirmed before any run</strong> · read-only orchestration</div>
105
+ </form>
106
+ <div id="live-session" class="live-session" hidden>
107
+ <span><span class="lamp" data-tone="amber"></span> <span id="session-label">Council in session</span> · <strong id="live-stage">awaiting approval</strong></span>
108
+ <button id="cancel-run" class="btn btn--danger" type="button">Cancel</button>
109
+ </div>
110
+ </div>
111
+ <div id="announcer" class="sr-only" aria-live="polite"></div>
112
+ </main>
113
+
114
+ <!-- Right — Council deck -->
115
+ <aside id="council-deck" class="deck" aria-label="Council deck">
116
+ <header class="deck__head">
117
+ <span class="deck__head-title">
118
+ <span class="deck__eyebrow">Council session</span>
119
+ <span id="deck-state" class="deck__state" data-live="idle">idle</span>
120
+ </span>
121
+ <span class="deck__head-end">
122
+ <span id="run-id" class="deck__runid"></span>
123
+ <button class="btn btn--icon deck__close" type="button" data-close-panel aria-label="Close council deck">✕</button>
124
+ </span>
125
+ </header>
126
+ <div id="deck-body" class="deck__body">
127
+ <section class="deck-sec">
128
+ <div class="deck-sec__head"><span class="deck-sec__label">Pipeline</span></div>
129
+ <ol id="stage-spine" class="stage-spine"></ol>
130
+ </section>
131
+ <section class="deck-sec">
132
+ <div class="deck-sec__head"><span class="deck-sec__label">The council</span></div>
133
+ <ul id="seat-roster" class="council"></ul>
134
+ </section>
135
+ <section class="deck-sec">
136
+ <div class="deck-sec__head"><span class="deck-sec__label">Signals</span></div>
137
+ <div class="deck-counters">
138
+ <div class="deck-counter" data-counter="positions"><strong>0</strong><span>positions</span></div>
139
+ <div class="deck-counter" data-counter="evidence"><strong>0</strong><span>evidence</span></div>
140
+ <div class="deck-counter" data-counter="disagreements"><strong>0</strong><span>disputes</span></div>
141
+ <div class="deck-counter" data-counter="repairs"><strong>0</strong><span>repairs</span></div>
142
+ </div>
143
+ </section>
144
+ <section class="deck-sec">
145
+ <div class="deck-sec__head"><span class="deck-sec__label">Cost receipt</span><span id="cost-total" class="deck-sec__value">0 / 0 calls</span></div>
146
+ <div id="cost-receipt" class="cost"></div>
147
+ </section>
148
+ <p class="deck__hint">The deck lights up when a decision is convened — pipeline, seats, and a live call budget.</p>
149
+ </div>
150
+ </aside>
151
+ </div>
152
+
153
+ <button id="drawer-backdrop" class="drawer-backdrop" type="button" aria-label="Close open panel" hidden></button>
154
+
155
+ <!-- Settings sheet -->
156
+ <div id="settings-sheet" class="sheet" hidden>
157
+ <div class="sheet__backdrop" data-close></div>
158
+ <div class="sheet__panel" role="dialog" aria-modal="true" aria-label="Settings">
159
+ <header class="sheet__head">
160
+ <h2>Settings</h2>
161
+ <button class="btn btn--icon" type="button" data-close aria-label="Close settings">✕</button>
162
+ </header>
163
+ <div id="settings-body" class="sheet__body"></div>
164
+ </div>
165
+ </div>
166
+
167
+ <div id="toast" class="toast" role="status" aria-live="polite" hidden></div>
168
+
169
+ <script type="module" src="/app.js"></script>
170
+ </body>
171
+ </html>