sisyphi 1.1.13 → 1.1.15

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.
@@ -174,7 +174,12 @@ Apply the same principle to context files: when agent reports reveal stale secti
174
174
 
175
175
  The context directory (`$SISYPHUS_SESSION_DIR/context/`) stores persistent artifacts too large for agent instructions: requirements, design documents, implementation plans, exploration findings, test strategies, e2e verification recipes.
176
176
 
177
- Context files are curated tokens — every section earns its place by being useful to the agents that read it. Documents represent current understanding: when a decision resolves an open question, fold the answer into the relevant section and remove the question. When new knowledge supersedes a section, update it. When a phase completes, remove material that only served the transition.
177
+ Context files are curated tokens — every section earns its place by being useful to the agents that read it. Documents represent current understanding, not conversation history. When a question gets answered:
178
+
179
+ 1. **Delete the question** from whatever section lists it (Open Questions, TBD, etc.)
180
+ 2. **Find the section where the answer belongs** — the section that covers that topic — and update it to incorporate the new information as settled fact
181
+
182
+ Do not update the question in place, annotate it with an answer, or create a separate decisions file. The document should read as if the answer was always known. When new knowledge supersedes a section, rewrite it. When a phase completes, remove material that only served the transition.
178
183
 
179
184
  Each cycle, before spawning agents, check the context files you're about to reference: if a file has accumulated stale material, update it before agents read it. If a file no longer serves active work, remove it from the roadmap's active context list.
180
185
 
@@ -30,7 +30,7 @@ For significant features, requirements refinement is iterative:
30
30
  - Draft requirements based on exploration findings
31
31
  - Have agents review for feasibility (can this actually work given the codebase?)
32
32
  - Seek user alignment on the high-level approach
33
- - **Fold new knowledge into authoritative documents.** When reviews, exploration, or user feedback change the understanding, update the requirements and design documents directly — they are the single source of truth. Don't create correction files, addendum files, or decision logs alongside them. Remove superseded material rather than annotating it. Plan agents should read clean, current documents — not reconcile contradictions or skip over resolved questions.
33
+ - **Fold new knowledge into authoritative documents.** When reviews, exploration, or user feedback resolve questions or change the understanding, update the requirements and design documents directly — they are the single source of truth. Delete resolved questions from their listing sections, then update the topical sections where those answers belong so the document reads as settled fact. Don't create correction files, addendum files, or decision logs alongside them. Don't annotate questions with answers remove the questions entirely and weave the answers into the body. Plan agents should read clean, current documents — not reconcile contradictions or skip over resolved questions.
34
34
 
35
35
  Not every stage needs standalone requirements — a well-defined stage might just be a detailed section in the implementation plan.
36
36
 
package/dist/tui.js CHANGED
@@ -3,9 +3,8 @@ import {
3
3
  EXEC_ENV,
4
4
  augmentedPath,
5
5
  exec,
6
- execSafe,
7
- loadConfig
8
- } from "./chunk-CAJEBTUE.js";
6
+ execSafe
7
+ } from "./chunk-6TIO23U3.js";
9
8
  import {
10
9
  buildSessionContext,
11
10
  computeActiveTimeMs,
@@ -15,8 +14,9 @@ import {
15
14
  statusColor
16
15
  } from "./chunk-HQZOAX6D.js";
17
16
  import {
17
+ loadConfig,
18
18
  shellQuote
19
- } from "./chunk-6G226ZK7.js";
19
+ } from "./chunk-IF55HPWX.js";
20
20
  import {
21
21
  contextDir,
22
22
  globalDir,
@@ -2223,6 +2223,9 @@ import { execSync } from "child_process";
2223
2223
  import { join as join3 } from "path";
2224
2224
  import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdtempSync, rmSync, cpSync, existsSync as existsSync2, mkdirSync as mkdirSync2 } from "fs";
2225
2225
  import { tmpdir as tmpdir2 } from "os";
2226
+ function getWindowId() {
2227
+ return exec('tmux display-message -p "#{window_id}"');
2228
+ }
2226
2229
  function selectWindow(windowId) {
2227
2230
  execSafe(`tmux select-window -t "${windowId}"`);
2228
2231
  }
@@ -2237,6 +2240,9 @@ function listAllWindowIds() {
2237
2240
  return /* @__PURE__ */ new Set();
2238
2241
  }
2239
2242
  }
2243
+ function registerDashboardWindow() {
2244
+ execSafe(`tmux set-option @sisyphus_dashboard ${getWindowId()}`);
2245
+ }
2240
2246
  var companionPaneId = null;
2241
2247
  function setupCompanionPlugin() {
2242
2248
  const srcDir = join3(import.meta.dirname, "templates", "companion-plugin");
@@ -4678,6 +4684,7 @@ function getArg(name) {
4678
4684
  return void 0;
4679
4685
  }
4680
4686
  var cwd = getArg("cwd") ?? process.cwd();
4687
+ registerDashboardWindow();
4681
4688
  var cleanup = setupTerminal();
4682
4689
  var state = createAppState(cwd);
4683
4690
  startApp(state, cleanup);