Skip to content

✨ dashboard settings: expose data/deployment/evidence/forge/mint/… keys (parity batch 3) - #12046

Merged
hivecommons-hive[bot] merged 3 commits into
v5from
scanner/fix-11854-batch3
Oct 15, 2026
Merged

hivecommons-hive[bot] merged 3 commits into
v5from
scanner/fix-11854-batch3

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Refs #11854 (partial: 38 of ~578 remaining allow-listed keys exposed in this slice; remaining sections tracked on the issue)

This slice exposes the scalar keys from the small hive.yaml sections. New controls sit in Settings → Features and use the existing Features GET/PUT (/api/config/governor/features, owner-only). Keys that already had a handler and control elsewhere now show their YAML hint. Every control shows its YAML key as a monospace hint and has help text. Absent keys are left untouched, and invalid values return 400 before anything changes.

Data directories (new section, "Requires restart")

  • data.metrics_dir, data.logs_dir, data.agents_dir, data.claude_sessions_dir, data.copilot_sessions_dir, data.bob_sessions_dir: text inputs; each must be a non-empty, clean absolute path
  • data.session_retention_days: number input. Empty means the default (7), 0 turns pruning off, and negative values are rejected.

Standalone deployment (new section; read on each upgrade check, so live)

  • deployment.podman_mode: select (not set / rootless / rootful)
  • deployment.upgrade_request_dir: text input, either empty or a clean absolute path
  • deployment.upgrade_helper: read-only. It names an executable the dashboard runs, so it can only be changed in hive.yaml.

Review evidence (new section)

  • evidence.enabled: toggle (default on)
  • evidence.signing_key_file: read-only path. The key is never read.

GitLab and Gitea forges (new section, "Requires restart")

  • gitlab.gitlab_url, gitea.gitea_url: either empty or an http(s) URL
  • gitlab.token_env, gitea.token_env: env-var NAME only, validated as a POSIX name, never a token value

Token mint limits (new section)

  • mint.max_ttl_seconds: number input from 0 (default 900) to 3600 (hard cap); "Requires restart"
  • mint.key_path: read-only path. Before this PR the dashboard deliberately left it out, and the key is never read.

Design-first planning (new section)

  • planning.design_approved_label: text input
  • planning.max_concurrent_designs, planning.max_design_revisions: number inputs; 0 means the default
  • planning.plan_from_label: the existing toggle now shows its YAML hint

Supersession and compliance windows (new section)

  • supersession_sweep.grace_period: Go duration
  • compliance.posture_checks.window_days (0–90), compliance.posture_checks.history_days (0 or 30–1095): the same bounds ComplianceConfig.Validate enforces

Swarm banner (new section, "Requires restart" because the swarm store caches its default theme)

  • swarm.event_name, swarm.call_to_arms, swarm.leaderboard_title: sanitized text, at most 200 characters

Tool approval inbox (new section, "Requires restart")

  • tool_approval.inbox_path: either empty or a clean absolute path

Existing controls that now show YAML hints (handlers unchanged)

  • escalation.threshold (Health → Escalation Breaker)
  • intent.enforce, intent.alignment_model (Security; help marks added)
  • sentinel.max_actions, sentinel.trusted_authors_block (Security)
  • auto_merge.max_merges, auto_merge.trusted_authors.require_role (Features → Auto-Merge)
  • auto_merge.min_head_age: new text input in Auto-Merge, saved through the existing /api/config/auto-merge handler
  • publication.owner (Features → Audit publication)

Skipped in this slice

  • classification.review_bots.max_attempts_per_thread, classification.review_bots.resolve_after_fix: EffectiveReviewBots ignores these hive.yaml values whenever the logins come from hive-project.yaml. Making them writable would show settings that have no effect until the override semantics are decided, so they need a follow-up.
  • List and map keys in these sections (planning.*_labels[], sentinel.repos[], auto_merge.*[], swarm.themes.<key>.*, tool_approval.rules[], intent.*_patterns[], …).

Allowlist: 578 → 540 entries.

New handler logic is in api_governor_features_platform.go and follows the featuresOpsBody pattern. ops_settings_parity_test.go round-trips every writable key through PUT/GET. It also covers rejection with no partial mutation, checks that the read-only paths are never written, and checks that every key renders a YAML hint and a bound control. Also adds a changelog fragment and Settings search entries.

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 requested_by=@clubanderson

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 15, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign danathar for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 15, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: CI pending — sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive
hivecommons-hive Bot force-pushed the scanner/fix-11854-batch3 branch from c3a42ff to 19795e3 Compare October 15, 2026 15:17
…idence, forge, mint, …)

Refs #11854

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
@hivecommons-hive
hivecommons-hive Bot force-pushed the scanner/fix-11854-batch3 branch from 19795e3 to 1600104 Compare October 15, 2026 15:17
@kubestellar-prow kubestellar-prow Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 15, 2026
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

PR Title Relation Files
#12048 🐛 dashboard: fixed-size endpoint markers on the lifecycle timeline same files src/pkg/dashboard/static/index.html
#12051 🐛 fix(automerge): gate contributor-lane unattended merge on vetted identity same files src/pkg/config/config.go
src/pkg/dashboard/static/index.html

…ding ratchet

pkg/dashboard only needed three constants from pkg/mint and pkg/sessionprune,
which tripped TestDashboardImportRatchet and the internal import-count
ratchet (47 > 45). Mirror them as second/day-valued constants in pkg/config
(already a dashboard dependency) and pin parity with tests in the owning
packages. Also lower the hub static pages raw-padding baseline to 164 for
TestStyleRatchet.

Signed-off-by: scanner <scanner@hive.kubestellar.io>
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: pushed 2f9fa96 — routes the mint/sessionprune constants through pkg/config (import ratchets) and lowers the padding baseline to 164 (style ratchet). CI pending — sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: 2f9fa96

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

…_age field

Keeps the operator index.html style= ratchet at its baseline of 1507.

Signed-off-by: scanner <scanner@hive.kubestellar.io>
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: pushed ratchet fix (inline style → mt-4 utility class, TestStyleRatchet baseline 1507). CI pending — sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: 1ae200d97

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive
hivecommons-hive Bot merged commit b8079dc into v5 Oct 15, 2026
61 of 62 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the scanner/fix-11854-batch3 branch October 15, 2026 15:57
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

copilot dco-signoff: yes Indicates the PR's author has signed the DCO. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants