Skip to content

feat: add branded AiGate dashboard#9

Merged
machado144 merged 2 commits into
mainfrom
rebrand-aigate-dashboard
Jun 8, 2026
Merged

feat: add branded AiGate dashboard#9
machado144 merged 2 commits into
mainfrom
rebrand-aigate-dashboard

Conversation

@machado144

Copy link
Copy Markdown
Contributor

Summary

  • add a local AiGate web dashboard served from the Go binary
  • wire audit logging into sandbox runs and deny_exec preflight blocks
  • rebrand the dashboard around AxeForge's dark/orange operator style with live counters, filters, and event timeline
  • include demo recording assets and update structure lint rules for embedded web assets
  • bump Go declaration to 1.25.10 so govulncheck uses the fixed standard library version

Verification

  • go test ./...
  • /home/youngestaxe/go/bin/go1.25.10 test ./...
  • govulncheck ./...
  • structlint validate --config .structlint.yaml
  • served dashboard with yoink: yoink run --alias aigate-dashboard go run . serve --addr 127.0.0.1:8080
  • exercised forwarded Claude command through AiGate via yoink; /api/overview recorded the run_started events

@github-actions

github-actions Bot commented May 21, 2026

Copy link
Copy Markdown

StructLint — All checks passed

92 rules validated against .structlint.yaml. No violations found.

View full run · Powered by StructLint

@machado144 machado144 merged commit 5adaf7a into main Jun 8, 2026
4 of 6 checks passed
machado144 added a commit that referenced this pull request Jun 8, 2026
…ng PRs (#11)

## What

Two CI-health fixes surfaced while merging #9 and #10:

### 1. `vuln` was genuinely red — bump Go 1.25.10 → 1.25.11

`govulncheck` found two **reachable** stdlib vulnerabilities, newly
reachable once #9 added the dashboard HTTP server
(`internal/web/server.go:75`):

| Vuln | Package | Fixed in |
|------|---------|----------|
| GO-2026-5039 | `net/textproto` | go1.25.11 |
| GO-2026-5037 | `crypto/x509` | go1.25.11 |

Bumping the `go` directive to `1.25.11` clears both.

### 2. `review` step → `continue-on-error`

The `review` job (advisory `reviewforge` AI review) has been failing on
an **expired `GEMINI_API_KEY`**. It isn't a required check, but a hard
failure leaves a red ✗ and pushes PRs into `UNSTABLE`/`BLOCKED` merge
state. Marking the step `continue-on-error` keeps it informational
without gating merges.

> Note: this only stops it *blocking*. `GEMINI_API_KEY` still needs
renewing for reviews to actually run again.

## Verified locally (go1.25.11 toolchain)

- `go test -short ./...` — pass
- `govulncheck ./...` — **0 vulnerabilities affecting the code** (was 2)

Lint/test are unaffected by a go-directive bump and a workflow YAML
change.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
machado144 added a commit that referenced this pull request Jun 8, 2026
## What

A docs audit + refresh to bring all four user-facing doc surfaces back
in sync with what actually ships. Recent PRs (dashboard #9, IPv6 #10, Go
bump #11, and earlier masking) added features and changed defaults that
never made it into the docs.

Kept it useful and tight — no bloat, just fixing what was missing or
wrong.

## Gaps fixed

| Area | Before | After |
|------|--------|-------|
| `aigate serve` / web dashboard | undocumented everywhere | documented
in README, user guide, AI ref, `help-ai` |
| Audit log (`~/.aigate/audit.jsonl`) | undocumented | own section in
user guide + `help-ai`, with event examples |
| Default config example (user guide) | missing `*.p12`,
`terraform.tfstate`, `*.tfvars`, `ncat/netcat/rsync/ftp`,
`registry.npmjs.org`, `proxy.golang.org`, and the whole `mask_stdout`
block | matches `InitDefaultConfig` |
| `aws_secret` preset | absent (docs said "5 presets") | added; correct
description (`AWS_SECRET_ACCESS_KEY=` match), "6 presets" |
| Go version | badge `1.24+`, "From Source (Go 1.24+)" | `1.25+` (go.mod
is 1.25.11) |
| README Features | claimed cgroups resource limits are **enforced** |
removed — the user guide correctly notes they're *not yet* enforced |
| AI architecture map | missing `audit_service.go`, `masker.go`,
`internal/web/`, `setup.go`, `help_ai.go`, escape tests | added, plus a
note on the append-only audit log + read-only dashboard design |
| `help-ai` | no `doctor`, no `serve`/dashboard | added `doctor` to
setup + a DASHBOARD & AUDIT LOG section |

## Files

- `README.md`
- `docs/user/README.md`
- `docs/AI/README.md`
- `actions/help_ai.go` (the `aigate help-ai` output)

## Verified

- `go build ./...` and `go test -short ./...` pass
- pre-commit hooks green: structlint, gofmt, govet, golangci-lint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant