@hanzlaa/rcode 4.8.0 → 4.9.1
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/AGENTS.md +1 -1
- package/CONTRIBUTING.md +3 -0
- package/README.md +7 -5
- package/cli/doctor.js +4 -2
- package/cli/github-sync.js +26 -17
- package/cli/install.js +59 -34
- package/cli/lib/namespace-migrate.cjs +62 -4
- package/cli/migrate-namespace.js +4 -0
- package/dist/rcode.js +207 -207
- package/package.json +1 -1
- package/rcode/agents/rcode-code-reviewer.md +1 -1
- package/rcode/agents/rcode-docs-auditor.md +1 -1
- package/rcode/agents/rcode-edge-case-hunter.md +1 -1
- package/rcode/agents/rcode-security-adversary.md +1 -1
- package/rcode/agents/rcode-security-auditor.md +1 -1
- package/rcode/agents/rcode-sprint-checker.md +1 -1
- package/rcode/agents/rcode-verifier.md +1 -1
- package/rcode/bin/lib/brain.cjs +16 -1
- package/rcode/bin/lib/gitignore.cjs +3 -5
- package/rcode/bin/rcode-hooks.cjs +22 -5
- package/rcode/bin/rcode-tools.cjs +166 -14
- package/rcode/data/intent-table.json +1 -1
- package/rcode/references/git-preflight.md +5 -2
- package/rcode/references/output-format.md +5 -5
- package/rcode/workflows/add-phase.md +33 -14
- package/rcode/workflows/do.md +33 -1
- package/rcode/workflows/execute-sprint.md +3 -4
- package/rcode/workflows/execute-waves.md +25 -32
- package/rcode/workflows/execute.md +80 -21
- package/rcode/workflows/init.md +28 -6
- package/rcode/workflows/plan-research-validation.md +10 -5
- package/rcode/workflows/plan-spawn-planner.md +9 -13
- package/rcode/workflows/plan.md +2 -2
- package/rcode/workflows/scaffold-skill.md +19 -1
- package/rcode/workflows/scan.md +22 -1
- package/rcode/workflows/secure-phase.md +7 -1
- package/rcode/workflows/validate-phase.md +7 -1
- package/server/lib/html/client/components/Sidebar.js +8 -5
- package/server/lib/html/client/views/PhasesView.js +1 -1
- package/server/lib/html/css.js +4 -0
- package/server/lib/scanner.js +4 -1
|
@@ -91,7 +91,7 @@ function PhaseDetail({ phase: p, S }) {
|
|
|
91
91
|
<div class="attr-grid">
|
|
92
92
|
<${AttrItem} label="Status" value=${html`<${Chip} status=${p.status}/>`}/>
|
|
93
93
|
<${AttrItem} label="Sprints" value=${sps.length}/>
|
|
94
|
-
<${AttrItem} label="Tasks Done" value=${done + '/' + stories.length}/>
|
|
94
|
+
<${AttrItem} label="Tasks Done" value=${stories.length ? (done + '/' + stories.length) : 'no tasks tracked'}/>
|
|
95
95
|
<${AttrItem} label="Progress" value=${pct(done, stories.length)}/>
|
|
96
96
|
${p.completed_at ? html`<${AttrItem} label="Completed" value=${humanDate(p.completed_at)}/>` : null}
|
|
97
97
|
</div>
|
package/server/lib/html/css.js
CHANGED
|
@@ -2651,6 +2651,8 @@ footer {
|
|
|
2651
2651
|
overflow: hidden;
|
|
2652
2652
|
text-overflow: ellipsis;
|
|
2653
2653
|
white-space: nowrap;
|
|
2654
|
+
min-width: 0;
|
|
2655
|
+
flex-shrink: 1;
|
|
2654
2656
|
}
|
|
2655
2657
|
.orch-term-dock-live {
|
|
2656
2658
|
display: inline-flex;
|
|
@@ -2661,6 +2663,7 @@ footer {
|
|
|
2661
2663
|
color: var(--green);
|
|
2662
2664
|
font-family: var(--font-mono);
|
|
2663
2665
|
white-space: nowrap;
|
|
2666
|
+
flex-shrink: 0;
|
|
2664
2667
|
}
|
|
2665
2668
|
.orch-term-dock-live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
|
|
2666
2669
|
.orch-term-dock-stop {
|
|
@@ -2675,6 +2678,7 @@ footer {
|
|
|
2675
2678
|
cursor: pointer;
|
|
2676
2679
|
font-family: var(--font-sans);
|
|
2677
2680
|
margin-left: var(--space-2);
|
|
2681
|
+
flex-shrink: 0;
|
|
2678
2682
|
}
|
|
2679
2683
|
.orch-term-dock-stop:hover { opacity: 0.85; }
|
|
2680
2684
|
.orch-term-dock-body {
|
package/server/lib/scanner.js
CHANGED
|
@@ -269,6 +269,9 @@ function buildDashboard(state) {
|
|
|
269
269
|
: (Array.isArray(raw.phases) ? raw.phases : []);
|
|
270
270
|
|
|
271
271
|
// ---- phases (superset: rich phaseTree + contract range/state) ----
|
|
272
|
+
// Sorted numerically by phase number — state.json array order reflects
|
|
273
|
+
// insertion order (when a phase entry was appended), not phase sequence,
|
|
274
|
+
// so an inserted-late phase like 13 would otherwise render after 38/39/42/43.
|
|
272
275
|
const phases = tree.map(p => {
|
|
273
276
|
const started = p.started || p.created || null;
|
|
274
277
|
const completed = p.completed || p.completed_at || null;
|
|
@@ -276,7 +279,7 @@ function buildDashboard(state) {
|
|
|
276
279
|
? [fmtShort(started), fmtShort(completed)].filter(Boolean).join(' – ')
|
|
277
280
|
: '';
|
|
278
281
|
return { ...p, name: p.name || p.slug || String(p.id || ''), range, state: toState(p.status) };
|
|
279
|
-
});
|
|
282
|
+
}).sort((a, b) => (parseFloat(a.id ?? a.number) || 0) - (parseFloat(b.id ?? b.number) || 0));
|
|
280
283
|
|
|
281
284
|
// ---- progress (prefer story counts; fall back to phase-level counts) ----
|
|
282
285
|
let completed = 0, total = 0, inProg = 0;
|