diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..899713c
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1 @@
+* @DevChiniwala
diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml
new file mode 100644
index 0000000..c3508d0
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug.yml
@@ -0,0 +1,77 @@
+name: Bug report
+description: Report a reproducible ControlSurface defect.
+title: "[Bug]: "
+labels:
+ - bug
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thanks for helping improve ControlSurface. Remove credentials, prompts, trace payloads, and other sensitive telemetry before submitting.
+ - type: input
+ id: version
+ attributes:
+ label: ControlSurface version
+ description: Tag, commit SHA, or container/source revision.
+ placeholder: v0.1.0-rc.1
+ validations:
+ required: true
+ - type: dropdown
+ id: component
+ attributes:
+ label: Component
+ options:
+ - Web console
+ - Control API
+ - OTLP ingest
+ - Worker / ClickHouse projection
+ - Python SDK
+ - CLI / release gates
+ - Docker Compose / operations
+ - Documentation
+ - Other
+ validations:
+ required: true
+ - type: textarea
+ id: environment
+ attributes:
+ label: Environment
+ description: Operating system, browser or Python version, deployment method, and relevant service versions.
+ validations:
+ required: true
+ - type: textarea
+ id: reproduction
+ attributes:
+ label: Reproduction steps
+ description: Provide the smallest deterministic sequence that reproduces the problem.
+ validations:
+ required: true
+ - type: textarea
+ id: expected
+ attributes:
+ label: Expected behavior
+ validations:
+ required: true
+ - type: textarea
+ id: actual
+ attributes:
+ label: Actual behavior
+ validations:
+ required: true
+ - type: textarea
+ id: diagnostics
+ attributes:
+ label: Sanitized diagnostics
+ description: Add relevant logs, screenshots, trace IDs, or error output after removing secrets and sensitive telemetry.
+ render: shell
+ - type: checkboxes
+ id: checks
+ attributes:
+ label: Submission checks
+ options:
+ - label: I reproduced this on the latest release candidate or current main branch.
+ required: true
+ - label: I removed secrets and sensitive production telemetry.
+ required: true
+ - label: I searched existing issues for the same problem.
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..2c3af93
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Security vulnerability
+ url: https://github.com/DevChiniwala/ControlSurface/security/advisories/new
+ about: Report vulnerabilities privately. Do not open a public security issue.
+ - name: Questions and support
+ url: https://github.com/DevChiniwala/ControlSurface/discussions/categories/q-a
+ about: Ask installation, configuration, and usage questions in Discussions.
diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml
new file mode 100644
index 0000000..e4cdbdb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature.yml
@@ -0,0 +1,53 @@
+name: Feature request
+description: Propose a focused product or engineering improvement.
+title: "[Feature]: "
+labels:
+ - enhancement
+body:
+ - type: textarea
+ id: problem
+ attributes:
+ label: Problem
+ description: What production-agent workflow is difficult or impossible today?
+ validations:
+ required: true
+ - type: textarea
+ id: outcome
+ attributes:
+ label: Desired outcome
+ description: Describe observable behavior and user value, not only an implementation.
+ validations:
+ required: true
+ - type: textarea
+ id: proposal
+ attributes:
+ label: Proposed approach
+ description: Include interfaces, workflow, or data implications when known.
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternatives considered
+ - type: dropdown
+ id: area
+ attributes:
+ label: Product area
+ options:
+ - Observe
+ - Evaluate
+ - Monitor
+ - Diagnose
+ - Improve
+ - Ship
+ - Operations
+ - Developer experience
+ validations:
+ required: true
+ - type: checkboxes
+ id: checks
+ attributes:
+ label: Submission checks
+ options:
+ - label: This request describes a concrete problem rather than a duplicate feature list.
+ required: true
+ - label: I searched existing issues and roadmap items.
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/integration.yml b/.github/ISSUE_TEMPLATE/integration.yml
new file mode 100644
index 0000000..bfd0713
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/integration.yml
@@ -0,0 +1,44 @@
+name: Integration request
+description: Request or propose an agent framework, model, tool, or telemetry integration.
+title: "[Integration]: "
+labels:
+ - integration
+body:
+ - type: input
+ id: target
+ attributes:
+ label: Integration target
+ placeholder: Framework, provider, protocol, tool system, or runtime
+ validations:
+ required: true
+ - type: input
+ id: version
+ attributes:
+ label: Relevant versions
+ - type: textarea
+ id: use_case
+ attributes:
+ label: Production use case
+ description: Describe the agent workflow and why generic OpenTelemetry instrumentation is insufficient.
+ validations:
+ required: true
+ - type: textarea
+ id: telemetry
+ attributes:
+ label: Expected telemetry
+ description: Which agent, model, tool, retrieval, retry, session, token, cost, or error data should be captured?
+ validations:
+ required: true
+ - type: textarea
+ id: references
+ attributes:
+ label: Public technical references
+ description: Link official documentation or protocol specifications only.
+ - type: checkboxes
+ id: contribution
+ attributes:
+ label: Contribution
+ options:
+ - label: I am willing to help validate the integration.
+ - label: I am willing to contribute an implementation or fixtures.
+ - label: I can provide a minimal public reproduction.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..2ddd918
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,17 @@
+## What changed
+
+
+
+## Verification
+
+- [ ] Relevant unit or integration tests pass.
+- [ ] Formatting, lint, and type checks pass.
+- [ ] Documentation and examples are updated when behavior changes.
+- [ ] UI changes include current screenshots and keyboard/accessibility verification.
+- [ ] Schema or migration changes are forward-safe and documented.
+- [ ] Security, privacy, retention, and secret-handling implications were considered.
+- [ ] No sensitive telemetry, credentials, generated evidence, or private paths are included.
+
+## Related issue
+
+
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..19fcb5b
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,49 @@
+version: 2
+updates:
+ - package-ecosystem: npm
+ directory: /apps/web
+ schedule:
+ interval: weekly
+ day: monday
+ groups:
+ web-routine:
+ patterns: ["*"]
+ update-types: [minor, patch]
+
+ - package-ecosystem: pip
+ directory: /services/controlplane
+ schedule:
+ interval: weekly
+ day: monday
+ groups:
+ controlplane-routine:
+ patterns: ["*"]
+ update-types: [minor, patch]
+
+ - package-ecosystem: pip
+ directory: /sdk/python
+ schedule:
+ interval: weekly
+ day: monday
+ groups:
+ sdk-routine:
+ patterns: ["*"]
+ update-types: [minor, patch]
+
+ - package-ecosystem: github-actions
+ directory: /
+ schedule:
+ interval: weekly
+ day: monday
+
+ - package-ecosystem: docker
+ directory: /services/controlplane
+ schedule:
+ interval: weekly
+ day: monday
+
+ - package-ecosystem: docker
+ directory: /apps/web
+ schedule:
+ interval: weekly
+ day: monday
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f9c1573..fa9b717 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,5 +1,8 @@
name: CI
+permissions:
+ contents: read
+
on:
push:
branches: [main]
@@ -11,15 +14,15 @@ jobs:
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- - uses: actions/checkout@v7
- - uses: actions/setup-python@v7
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
with:
python-version: "3.12"
cache: pip
cache-dependency-path: |
services/controlplane/pyproject.toml
sdk/python/pyproject.toml
- - uses: actions/setup-node@v7
+ - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: "22"
cache: npm
@@ -63,15 +66,15 @@ jobs:
needs: quality
timeout-minutes: 35
steps:
- - uses: actions/checkout@v7
- - uses: actions/setup-python@v7
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7
with:
python-version: "3.12"
cache: pip
cache-dependency-path: |
services/controlplane/pyproject.toml
sdk/python/pyproject.toml
- - uses: actions/setup-node@v7
+ - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
node-version: "22"
cache: npm
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a6bbd18..9189efb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@
All notable changes are recorded here. ControlSurface has not published a package or container release.
-## Unreleased — v0.1.0-rc.1 candidate
+## 0.1.0-rc.1 — 2026-09-28
### Added
diff --git a/README.md b/README.md
index 813b337..4779d46 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,16 @@
+
+
+
+
+ Watch the complete 70-second failure-to-release workflow +
+ ## Production failures should make your system smarter. **Traces tell you what happened. ControlSurface helps you decide what to do next.** @@ -110,14 +120,6 @@ Group recurring production failures by execution signature and open a representa -
-
-