Skip to content

adding --all-projects option to dashboard#14

Closed
jwellman80 wants to merge 1 commit into
professorpalmer:mainfrom
jwellman80:daashboard-all-projects
Closed

adding --all-projects option to dashboard#14
jwellman80 wants to merge 1 commit into
professorpalmer:mainfrom
jwellman80:daashboard-all-projects

Conversation

@jwellman80

Copy link
Copy Markdown
Contributor

What has been done

  • Adds a --all-projects switch to the dashboard to allow a single dashboard to be visible across all projects rather than just in the directory in which the dashboard was started.

@professorpalmer

Copy link
Copy Markdown
Owner

Integrated into main via cherry-pick 7fd6774 (authorship preserved), plus a follow-up test commit 5a412a3 adding the cross-project aggregation coverage the PR was missing. Validated end-to-end: live HTTP smoke confirmed /api/jobs aggregates across project state dirs, cross-project /api/job resolves via find_state_dir_for_job, the -[0-9a-f]{12}$ slug strip matches the real {slug}-{sha256[:12]} dir convention, and the existing job-id traversal guard still returns 400 before any path join. Feature is opt-in and stays localhost-bound by default. Full suite green (700 passed). Thanks @jwellman80 — nice first contribution!

professorpalmer added a commit that referenced this pull request Jun 17, 2026
Adds a focused regression test for list_all_projects_snapshot proving
jobs from multiple project state dirs are aggregated and labeled with the
digest-stripped project slug. PR #14 shipped the feature without tests.
professorpalmer added a commit that referenced this pull request Jun 17, 2026
…rms, heartbeat throttle, compact status, cross-project dashboard)

Five external contributions reviewed end-to-end, integrated with authorship
preserved, and hardened with follow-up fixes/tests:

- #10 (@kbentonferguson): explicit, secret-safe Codex MCP credential
  inheritance (--env/--inherit-env/--env-file/--map-env/--force-env), managed
  0600 wrapper for secrets, $CODEX_HOME/auth.json billing, doctor --json.
  Follow-up: decoupled Codex availability from billing health so an
  OPENAI_API_KEY-only setup is never demoted (non-regressive + regression test).
- #11/#12 (@kbentonferguson): generated MCP swarms carry read_only/sandbox so
  Codex-routed analysis reviews dirty diffs without tripping the clean-tree
  guard; edit/implement paths still require a clean tree.
- #11 (@kbentonferguson): worker heartbeat throttled off the 0.1s poll loop
  (cap lease/3 keeps >=3 renewals/lease); inline workers scope
  PUPPETMASTER_STATE_DIR to the store root.
- #13 (@kbentonferguson): status --compact + MCP compact arg replace prompt
  bodies with chars+sha256 refs (97.4% reduction measured); default unchanged.
- #14 (@jwellman80): dashboard --all-projects aggregates every project state
  dir with traversal guard intact. Follow-ups: added the missing aggregation
  test and wired --all-projects through the MCP puppetmaster_dashboard tool.

Full suite 702 green (+19 tests).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants