JacobLinCool Codex commited on
Commit
e8d7906
verified
1 Parent(s): ff36d65

fix: make map status user-facing

Browse files

Co-authored-by: Codex <noreply@openai.com>

Files changed (3) hide show
  1. README.md +5 -5
  2. static/app.js +6 -4
  3. static/index.html +1 -1
README.md CHANGED
@@ -75,14 +75,14 @@ The `chapter` Gradio API endpoint and `Chapter` button export the public-facing
75
  one idea page per saved direction, each with verdict, score, selected goals, and closest cited pages. It is the
76
  shareable companion to the working notes artifact.
77
 
78
- ## Idea Board Ranking
79
 
80
- The `Rank` command rescans the saved idea board, recalculates each seal against the selected goals, selects the
81
  strongest page as the active idea, and drafts the next build step. The app then moves that page to the top of the Idea
82
  Board and refreshes the seal, wood map, plan, and PNG artifact around the chosen direction.
83
  Users can also click any Idea Board page to make it current before pressing `Plan`.
84
- If the board is empty, `Plan` and `Rank` do not create placeholder pages; they prompt the user to write an idea or press
85
- `Gap` first.
86
 
87
  ## Gap Exploration
88
 
@@ -93,7 +93,7 @@ planning.
93
  ## Profile-Aware Plans
94
 
95
  The `Profile` panel is part of the planning loop. Skills, time, preferences, and constraints are stored in the session
96
- and inserted into `Plan` and `Rank` build paths, so the app can turn "one evening", "frontend prototyping", or
97
  "CPU-only Space" into concrete scoping steps instead of generic advice.
98
 
99
  ## LoRA Dataset Artifact
 
75
  one idea page per saved direction, each with verdict, score, selected goals, and closest cited pages. It is the
76
  shareable companion to the working notes artifact.
77
 
78
+ ## Idea Board Compare
79
 
80
+ The `Compare` command rescans the saved idea board, recalculates each seal against the selected goals, selects the
81
  strongest page as the active idea, and drafts the next build step. The app then moves that page to the top of the Idea
82
  Board and refreshes the seal, wood map, plan, and PNG artifact around the chosen direction.
83
  Users can also click any Idea Board page to make it current before pressing `Plan`.
84
+ If the board is empty, `Plan` and `Compare` do not create placeholder pages; they prompt the user to write an idea or
85
+ press `Gap` first.
86
 
87
  ## Gap Exploration
88
 
 
93
  ## Profile-Aware Plans
94
 
95
  The `Profile` panel is part of the planning loop. Skills, time, preferences, and constraints are stored in the session
96
+ and inserted into `Plan` and `Compare` build paths, so the app can turn "one evening", "frontend prototyping", or
97
  "CPU-only Space" into concrete scoping steps instead of generic advice.
98
 
99
  ## LoRA Dataset Artifact
static/app.js CHANGED
@@ -410,10 +410,12 @@ function applyDemoSession(data) {
410
  }
411
 
412
  function renderProvenance(data) {
413
- const snapshot = shortDate(data.snapshot_generated_at);
414
- const index = shortDate(data.index_generated_at);
415
- const digest = String(data.snapshot_digest || "").slice(0, 10);
416
- provenanceEl.textContent = `${data.index_algorithm || "index"} snapshot ${snapshot} 路 index ${index} 路 ${digest}`;
 
 
417
  }
418
 
419
  function renderRestoredSession(data) {
 
410
  }
411
 
412
  function renderProvenance(data) {
413
+ const projectCount = Number(data.project_count || data.top_projects?.length || 0);
414
+ const countLabel = projectCount
415
+ ? `${projectCount} project page${projectCount === 1 ? "" : "s"} mapped`
416
+ : "Current project map loaded";
417
+ const updated = shortDate(data.snapshot_generated_at || data.index_generated_at);
418
+ provenanceEl.textContent = `${countLabel} 路 updated ${updated}`;
419
  }
420
 
421
  function renderRestoredSession(data) {
static/index.html CHANGED
@@ -139,7 +139,7 @@
139
  type="button"
140
  class="btn"
141
  data-command="compare ideas"
142
- title="Rank the saved idea board"
143
  >
144
  <svg class="icon"><use href="#icon-rank"></use></svg>
145
  Compare
 
139
  type="button"
140
  class="btn"
141
  data-command="compare ideas"
142
+ title="Compare saved ideas"
143
  >
144
  <svg class="icon"><use href="#icon-rank"></use></svg>
145
  Compare