Repository navigation
feat(demo): add Claude and ANF booth proof - #181
Merged
Merged
Conversation
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds the Agentic Summit booth proof path and shared visual theme. It introduces a live namespace snapshot tool that emits ANF plus a single parseable summary line, upgrades the booth flow to Claude via LiteLLM, and tightens evidence boundaries across the control-room surfaces. It also hardens provider error handling, records per-model cost, and persists runtime adapter identity for safe resume and cleanup.
Changes:
- Add
tools/anf-snapshotCLI to snapshot Kubernetes namespace state, translate to ANF, and emit bounded summary plus preview lines. - Update model routing and providers to separate operator system instructions from untrusted user prompts, and redact provider HTTP error bodies.
- Add shared web theme assets and apply them to the Python demo visualizer and
agentctl-webdemo UI. Expand CRD objective bound to 32 KiB and persist runtime adapter provenance.
Reviewed changes
Copilot reviewed 55 out of 61 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/anf-snapshot/snapshot/snapshot.go | New snapshot + ANF encoding, metrics, and safe artifact write. |
| tools/anf-snapshot/snapshot/snapshot_test.go | Snapshot determinism, omission accounting, and artifact-write tests. |
| tools/anf-snapshot/main.go | New anf-snapshot CLI for live namespace capture. |
| tools/anf-snapshot/main_test.go | CLI option parsing, kubeconfig cluster resolution, and output contract tests. |
| tools/anf-snapshot/go.mod | Nested module for the snapshot tool. |
| tools/anf-snapshot/go.sum | Snapshot tool dependency pinning. |
| scripts/demo-visualizer.py | SSE control room parsing for ANF summary, workload, provider, and cost evidence. |
| pkg/webtheme/embed.go | Embed shared CSS/SVG theme assets. |
| pkg/webtheme/embed_test.go | Validate embedded CSS tokens and SVG accessibility/constraints. |
| pkg/webtheme/assets/clawdlinux-theme.css | Canonical theme tokens for both demo surfaces. |
| pkg/webtheme/assets/clawdlinux-mark.svg | Canonical mark asset. |
| pkg/webtheme/assets/clawdlinux-wordmark.svg | Canonical wordmark asset. |
| pkg/runtime/registry.go | Add ForType and route through normalized runtime type. |
| pkg/runtime/registry_test.go | Cover ForType normalization and error behavior. |
| pkg/llm/routing.go | Add operator system prompt separation and provider reuse logic. |
| pkg/llm/routing_test.go | Ensure legacy provider contract stays intact. |
| pkg/llm/provider.go | Add role-aware provider call, HTTP error redaction, and bounded drain. |
| pkg/llm/provider_test.go | Verify system/user separation and redacted HTTP errors plus reuse. |
| pkg/llm/mock_provider.go | Add role-aware mock provider support. |
| pkg/finops/memory_reporter.go | Track and export per-model estimated cost. |
| pkg/finops/memory_reporter_test.go | Add per-model cost tests, including LiteLLM Anthropic alias. |
| Makefile | Add nested tool test/vet/staticcheck/build targets and wire into validate. |
| internal/controller/runtime_wiring_test.go | Add tests for persisted runtime provenance usage. |
| internal/controller/agentworkload_controller.go | Persist runtime type, template rejection, and safer model-routing prompt handling. |
| examples/research-agent.template.yaml | Template-only workload with ANF injection marker and Claude alias mapping. |
| docs/SHOWCASE-DEMO-WALKTHROUGH.md | Booth runbook with strict LIVE/CONFIG ONLY/PRIOR RUN boundaries. |
| docs/plans/2026-07-14-claude-anf-showcase.md | Implementation plan for Claude + ANF showcase. |
| docs/plans/2026-07-13-shared-web-theme.md | Implementation plan for shared web theme. |
| docs/PITCH-SCRIPT.md | Update booth pitch script to Claude + ANF path. |
| demos/README.md | Document replay artifacts and evidence boundaries. |
| demos/demo-claude-anf.log | Recorded rehearsal log for replay mode. |
| config/crd/bases/agentic.clawdlinux.org_agentworkloads.yaml | Increase objective limit and add status runtime provenance field. |
| cmd/agentctl-web/templates/partials/workloads.html | Button labeling and status badge rendering updates. |
| cmd/agentctl-web/templates/partials/status.html | Component availability labeling and phase badge rendering updates. |
| cmd/agentctl-web/templates/partials/describe.html | Update buttons and phase badge rendering. |
| cmd/agentctl-web/templates/login.html | Apply shared theme and brand wording. |
| cmd/agentctl-web/templates/layout.html | Apply shared theme and updated navigation branding. |
| cmd/agentctl-web/templates/demo.html | Rework demo page to show evidence boundaries and live source availability. |
| cmd/agentctl-web/middleware.go | Allow unauthenticated access to theme assets; keep app routes protected. |
| cmd/agentctl-web/middleware_test.go | Add middleware coverage for theme assets and demo auth behavior. |
| cmd/agentctl-web/main.go | Serve /theme/ from embedded assets in both demo and normal modes. |
| cmd/agentctl-web/handlers.go | Refactor demo handler to poll sources independently and render new demo view model. |
| charts/values.schema.json | Add builtinOpenAIModelsEnabled toggle schema. |
| charts/tests/litellm_existing_secret_test.yaml | Assert OpenAI aliases can be disabled while Anthropic remains. |
| charts/charts/litellm/values.yaml | Add builtinOpenAIModelsEnabled default. |
| charts/charts/litellm/templates/configmap.yaml | Gate OpenAI aliases behind builtinOpenAIModelsEnabled. |
| api/v1alpha1/agentworkload_webhook.go | Enforce objective length via Unicode character count and raise limit. |
| api/v1alpha1/agentworkload_webhook_test.go | Update webhook tests for new 32 KiB objective limit. |
| api/v1alpha1/agentworkload_types.go | Update CRD markers and document persona prompt append as untrusted. |
| api/v1alpha1/agentworkload_compatibility_test.go | Validate CRD schema changes and webhook/CRD agreement for length. |
| .gitignore | Track the replay log while keeping other logs ignored. |
| .github/workflows/test-gates.yml | Expand path filters and add smoke + Helm unit tests. |
| .github/workflows/ci.yml | Add nested tool module tidy/tests and rely on make lint gates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
6 of 11 tasks
shreyanshjain7174
added a commit
that referenced
this pull request
Jul 22, 2026
Add the shared Clawdlinux web theme and Agentic Summit control room. Route live Kubernetes context through ANF, AgentWorkload, LiteLLM, and Claude. Preserve evidence boundaries and include portable replay artifacts. Signed-off-by: Shreyansh Sancheti <43677304+shreyanshjain7174@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds the Agentic Summit booth proof and shared product web theme.
The live path now shows Kubernetes state becoming ANF, entering a rendered AgentWorkload, and routing through LiteLLM to Claude. The control room consumes bounded typed stdout events and preserves
LIVE,CONFIG ONLY, andPRIOR RUNevidence boundaries.This also persists runtime adapter identity for safe polling and cleanup, raises the bounded objective limit to 32 KiB, hardens provider error handling, and records per-model cost.
The tracked fallback includes a replay log and a 41-second, 1152x720 GIF. Both show
RECORDED REHEARSALrather than live state.The measured ANF comparison uses the same projected document in both encodings: 1,339 JSON bytes versus 621 ANF bytes, a 53.6% reduction. Omitted Kubernetes facts are counted separately.
Type of change
Checklist
go build ./...passesgo vet ./...passesgo test ./...passes (or relevant subset)git commit -s)How to test
The clean-checkout gate passed through
b118434with 109 Python tests, 1 expected xfail, 46 visualizer tests, and 18 Helm tests. The module tidy and OSS/private boundary CI commands also pass from a clean checkout.Copilot review comments were addressed in
b118434. ANF summary labels now share the parser grammar. Objective-limit test messages now use character-count wording.The live booth command is:
The live kind rehearsal completed with real Claude token and cost evidence. The gVisor panel remains dry-run configuration proof. NetworkPolicy remains object-presence proof. The audit receipt remains a prior-run HMAC fixture.
Related issues
None.