Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
3d006b1
docs: plan shared web theme
shreyanshjain7174 Jul 13, 2026
4b5c56d
feat(ui): add shared Clawdlinux web theme
shreyanshjain7174 Jul 13, 2026
3b0ca39
fix(ui): harden shared theme assets
shreyanshjain7174 Jul 13, 2026
602b361
test(ui): validate shared theme semantically
shreyanshjain7174 Jul 13, 2026
2f14f0b
feat(demo): add branded live control room
shreyanshjain7174 Jul 13, 2026
94f92d2
fix(demo): close control room evidence gaps
shreyanshjain7174 Jul 14, 2026
dab32a6
fix(demo): harden control room event stream
shreyanshjain7174 Jul 14, 2026
ce8144d
fix(demo): bound control room stream cleanup
shreyanshjain7174 Jul 14, 2026
9362141
feat(ui): align evidence console with Clawdlinux brand
shreyanshjain7174 Jul 14, 2026
e8418d5
fix(ui): complete evidence console branding
shreyanshjain7174 Jul 14, 2026
a0fdf57
fix(ui): preserve console evidence provenance
shreyanshjain7174 Jul 14, 2026
fff3cc2
fix(ui): derive demo aggregates from live snapshot
shreyanshjain7174 Jul 14, 2026
6e924b7
fix(ui): remove console status glyphs
shreyanshjain7174 Jul 14, 2026
bf5bc9c
fix(ui): bound evidence source polling
shreyanshjain7174 Jul 14, 2026
78cf7bb
fix(ui): secure evidence console polling
shreyanshjain7174 Jul 14, 2026
55fd887
fix(demo): fit control room to projector viewports
shreyanshjain7174 Jul 14, 2026
93a8550
fix(demo): guard compact layout breakpoint
shreyanshjain7174 Jul 14, 2026
5ec3db5
fix(demo): focus control room on proven evidence
shreyanshjain7174 Jul 14, 2026
d6de656
docs(demo): add screening walkthrough
shreyanshjain7174 Jul 14, 2026
190d3cb
fix(demo): close control room width gap
shreyanshjain7174 Jul 14, 2026
733459f
fix(demo): handle laptop aspect boundary
shreyanshjain7174 Jul 14, 2026
a6f2303
docs(demo): plan Claude ANF showcase
shreyanshjain7174 Jul 14, 2026
7e4d327
feat(demo): add live ANF namespace snapshot
shreyanshjain7174 Jul 14, 2026
0d935fa
fix(demo): make ANF snapshot proof comparable
shreyanshjain7174 Jul 14, 2026
841e323
fix(demo): finalize ANF snapshot evidence contract
shreyanshjain7174 Jul 16, 2026
30e15dc
chore(demo): align ANF quality gates
shreyanshjain7174 Jul 16, 2026
f071633
feat(demo): route paced showcase through Claude
shreyanshjain7174 Jul 16, 2026
5c5ac8d
fix(demo): harden Claude ANF evidence path
shreyanshjain7174 Jul 18, 2026
3382ec5
fix(demo): close Claude evidence security gaps
shreyanshjain7174 Jul 18, 2026
7b14d25
fix(demo): finalize Claude showcase contracts
shreyanshjain7174 Jul 18, 2026
6eda87c
fix(demo): enforce showcase trust boundaries
shreyanshjain7174 Jul 18, 2026
5725a95
fix(demo): make showcase trust operator-owned
shreyanshjain7174 Jul 18, 2026
f4c19e7
fix(demo): preserve persona as user content
shreyanshjain7174 Jul 18, 2026
240bf7e
fix(demo): reject templates before cleanup
shreyanshjain7174 Jul 18, 2026
10dc226
fix(demo): preserve deletion cleanup invariant
shreyanshjain7174 Jul 18, 2026
4134207
fix(demo): bound sanitized ANF context
shreyanshjain7174 Jul 18, 2026
8a52ef2
fix(runtime): persist execution adapter identity
shreyanshjain7174 Jul 18, 2026
bf45e35
fix(runtime): resume persisted executions
shreyanshjain7174 Jul 18, 2026
7db020c
feat(demo): visualize live ANF pipeline
shreyanshjain7174 Jul 18, 2026
48ac918
fix(demo): restart prepared workloads
shreyanshjain7174 Jul 18, 2026
ea72921
feat(demo): add portable Claude replay
shreyanshjain7174 Jul 19, 2026
711a7ff
docs(demo): update Agentic Summit walkthrough
shreyanshjain7174 Jul 19, 2026
5bab8e4
fix(ci): align boundary and module gates
shreyanshjain7174 Jul 19, 2026
b118434
fix(demo): align ANF summary contracts
shreyanshjain7174 Jul 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 17 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,23 +24,26 @@ jobs:
- name: Download modules
run: go mod download

- name: Verify gofmt
run: |
FILES=$(find . -name '*.go' -not -path './.git/*')
UNFORMATTED=$(gofmt -l $FILES)
if [ -n "$UNFORMATTED" ]; then
echo "Unformatted Go files:"
echo "$UNFORMATTED"
exit 1
fi
- name: Download nested ANF snapshot modules
working-directory: tools/anf-snapshot
run: go mod download

- name: Verify go.mod/go.sum are tidy
run: |
go mod tidy
git diff --exit-code go.mod go.sum

- name: Run go vet
run: go vet ./...
- name: Verify nested ANF snapshot go.mod/go.sum are tidy
working-directory: tools/anf-snapshot
run: |
go mod tidy
git diff --exit-code go.mod go.sum

- name: Run canonical lint
run: make lint

- name: Run nested ANF snapshot vet
run: make vet-anf-snapshot

- name: Install envtest binaries
run: |
Expand All @@ -51,6 +54,9 @@ jobs:
- name: Run Go tests
run: go test ./api/... ./pkg/... ./internal/... -count=1

- name: Run nested ANF snapshot tests
run: make test-anf-snapshot GO_TEST_FLAGS="-count=1"

landing-build:
name: Landing Lint and Build
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/oss-private-boundary-guard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ jobs:
with:
fetch-depth: 0

- name: Test boundary scanner
shell: bash
run: bash tests/smoke/test_oss_private_boundary.sh

- name: Validate OSS/private boundary policy
shell: bash
run: |
Expand Down
37 changes: 35 additions & 2 deletions .github/workflows/test-gates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ on:
- "cmd/**"
- "agents/**"
- "charts/**"
- "scripts/scan_secrets.sh"
- "scripts/**"
- "tests/smoke/**"
- "examples/**"
- ".github/workflows/test-gates.yml"
push:
branches:
Expand All @@ -23,7 +25,9 @@ on:
- "cmd/**"
- "agents/**"
- "charts/**"
- "scripts/scan_secrets.sh"
- "scripts/**"
- "tests/smoke/**"
- "examples/**"
- ".github/workflows/test-gates.yml"
schedule:
- cron: "0 3 * * *"
Expand All @@ -42,6 +46,9 @@ jobs:
- name: Quick secret scan
run: make scan-secrets

- name: Run booth CLI smoke tests
run: bash tests/smoke/test_demo_booth_cli.sh

- name: Set up Go
uses: actions/setup-go@v5
with:
Expand All @@ -59,5 +66,31 @@ jobs:
- name: Run Go tests
run: make test-go

- name: Install helm-unittest plugin
run: |
# Build the plugin from an immutable source commit. Do not run its
# installer hook, which downloads a mutable release asset.
plugin_dir="${RUNNER_TEMP}/helm-unittest"
git clone --filter=blob:none https://github.com/helm-unittest/helm-unittest.git "${plugin_dir}"
git -C "${plugin_dir}" checkout --detach 9cf59a78dbb89f3e3c70c62d2570cd7e96b97845
test "$(git -C "${plugin_dir}" rev-parse HEAD)" = "9cf59a78dbb89f3e3c70c62d2570cd7e96b97845"
(
cd "${plugin_dir}"
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOTOOLCHAIN=go1.26.0 \
go build -trimpath -buildvcs=false -o untt-linux-amd64 \
-ldflags "-X github.com/helm-unittest/helm-unittest/internal/build.version=1.1.1 -extldflags '-static'" \
./cmd/helm-unittest
)
helm_plugins="$(helm env | sed -n 's/^HELM_PLUGINS="\(.*\)"$/\1/p')"
test -n "${helm_plugins}"
install_dir="${helm_plugins}/unittest"
mkdir -p "${install_dir}"
install -m 0755 "${plugin_dir}/untt-linux-amd64" "${install_dir}/untt-linux-amd64"
install -m 0644 "${plugin_dir}/plugin.yaml" "${install_dir}/plugin.yaml"
helm plugin list | grep -Eq '^unittest[[:space:]]+1\.1\.1([[:space:]]|$)'

- name: Run Helm unit tests
run: helm unittest charts

- name: Lint Helm chart
run: make helm-lint
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ manager
manager
bin/

# Portable Agentic Summit fallback. Other logs remain ignored.
!demos/demo-claude-anf.log

# Strategic documents (pitch decks, large media)
*.mp4
*.pptx
Expand Down
53 changes: 47 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ SETUP_ENVTEST := $(LOCALBIN)/setup-envtest
STATICCHECK := $(LOCALBIN)/staticcheck
CONTROLLER_GEN := $(LOCALBIN)/controller-gen

.PHONY: help test validate test-unit test-go test-python setup-envtest test-controller fmt fmt-check vet lint build build-agentctl build-agentctl-web install-agentctl scan-secrets clean-venv check-python-version helm-lint test-cluster test-smoke test-e2e-cluster manifests generate
.PHONY: help test validate test-unit test-go test-anf-snapshot vet-anf-snapshot verify-anf-snapshot test-python setup-envtest test-controller fmt fmt-anf-snapshot fmt-check fmt-check-anf-snapshot vet lint staticcheck-anf-snapshot build build-agentctl build-agentctl-web build-anf-snapshot install-agentctl scan-secrets clean-venv check-python-version helm-lint test-cluster test-smoke test-e2e-cluster manifests generate

.DEFAULT_GOAL := help

Expand All @@ -27,15 +27,21 @@ help:
@echo " make test - Run go + python tests"
@echo " make validate - Run canonical validation sequence"
@echo " make test-go - Run go tests (excluding envtest controller)"
@echo " make test-anf-snapshot - Run nested ANF snapshot tests"
@echo " make vet-anf-snapshot - Run nested ANF snapshot vet checks"
@echo " make test-python - Run python agent tests (creates .venv automatically)"
@echo " make test-controller - Run envtest controller suite"
@echo " make fmt - Format go code"
@echo " make fmt-anf-snapshot - Format nested ANF snapshot go code"
@echo " make fmt-check - Fail if go files are not formatted"
@echo " make fmt-check-anf-snapshot - Check nested ANF snapshot formatting"
@echo " make vet - Run go vet"
@echo " make lint - Run lint checks"
@echo " make staticcheck-anf-snapshot - Run nested ANF snapshot staticcheck"
@echo " make manifests - Generate CRD manifests"
@echo " make generate - Generate code (deepcopy + go generate)"
@echo " make build - Build go binaries"
@echo " make build-anf-snapshot - Build the live ANF namespace snapshot CLI"
@echo " make helm-lint - Lint the Helm chart"
@echo " make scan-secrets - Run repository secret scan"
@echo ""
Expand All @@ -44,9 +50,9 @@ help:
@echo " make test-smoke - Smoke tests only (cluster must be pre-installed)"
@echo " make test-e2e-cluster - E2E tests only (cluster must be pre-installed)"

test: test-go test-python
test: test-go test-anf-snapshot test-python

validate: fmt-check lint test-controller test-go test-python helm-lint
validate: fmt-check lint test-controller test-go test-anf-snapshot vet-anf-snapshot test-python helm-lint

test-unit: test

Expand All @@ -59,6 +65,16 @@ test-go:
fi; \
$(GO) test $$pkgs $(GO_TEST_FLAGS)

test-anf-snapshot:
@echo "Running nested ANF snapshot tests..."
@cd tools/anf-snapshot && $(GO) test ./... $(GO_TEST_FLAGS)

vet-anf-snapshot:
@echo "Running nested ANF snapshot vet checks..."
@cd tools/anf-snapshot && $(GO) vet ./...

verify-anf-snapshot: test-anf-snapshot vet-anf-snapshot

check-python-version:
@$(PYTHON) -c 'import sys; assert sys.version_info < (3, 13), "test-python requires Python <= 3.12 due dependency pins; run with PYTHON=python3.12"'

Expand Down Expand Up @@ -116,11 +132,18 @@ test-controller: $(SETUP_ENVTEST)
@assets="$$( $(SETUP_ENVTEST) use -p path $(ENVTEST_K8S_VERSION) )"; \
KUBEBUILDER_ASSETS="$$assets" $(GO) test ./internal/controller/... $(GO_TEST_FLAGS)

fmt:
fmt: fmt-anf-snapshot
@echo "Formatting Go code..."
@$(GO) fmt ./...

fmt-check:
fmt-anf-snapshot:
@echo "Formatting nested ANF snapshot Go code..."
@files="$$(find tools/anf-snapshot -type f -name '*.go' -print)"; \
if [[ -n "$$files" ]]; then \
gofmt -w $$files; \
fi

fmt-check: fmt-check-anf-snapshot
@echo "Checking Go formatting..."
@unformatted="$$(gofmt -l $$(git ls-files '*.go'))"; \
if [[ -n "$$unformatted" ]]; then \
Expand All @@ -129,11 +152,24 @@ fmt-check:
exit 1; \
fi

fmt-check-anf-snapshot:
@echo "Checking nested ANF snapshot Go formatting..."
@unformatted="$$(gofmt -l $$(find tools/anf-snapshot -type f -name '*.go' -print))"; \
if [[ -n "$$unformatted" ]]; then \
echo "The following nested ANF snapshot files are not gofmt-formatted:"; \
echo "$$unformatted"; \
exit 1; \
fi

vet:
@echo "Running go vet..."
@$(GO) vet ./...

lint: vet fmt-check $(STATICCHECK)
staticcheck-anf-snapshot: $(STATICCHECK)
@echo "Running nested ANF snapshot staticcheck..."
@cd tools/anf-snapshot && PATH="$(LOCALBIN):$$PATH" $(STATICCHECK) ./...

lint: vet fmt-check staticcheck-anf-snapshot $(STATICCHECK)
@echo "Running staticcheck..."
@PATH="$(LOCALBIN):$$PATH" $(STATICCHECK) ./...

Expand All @@ -151,6 +187,11 @@ build-agentctl-web:
@mkdir -p bin
@$(GO) build -o bin/agentctl-web ./cmd/agentctl-web/...

build-anf-snapshot:
@echo "Building anf-snapshot binary..."
@mkdir -p bin
@cd tools/anf-snapshot && $(GO) build -o ../../bin/anf-snapshot .

install-agentctl: build-agentctl
@if [[ ! -f bin/agentctl ]]; then \
echo "agentctl binary not found at bin/agentctl"; \
Expand Down
Loading
Loading