loki-mode 10.11.2 → 11.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/actions/issue-to-pr/action.yml +17 -0
- package/SKILL.md +2 -2
- package/VERSION +1 -1
- package/autonomy/lib/backlog.py +1 -1
- package/autonomy/lib/workspace.py +1 -1
- package/autonomy/loki +5 -8
- package/bin/loki +21 -18
- package/dashboard/__init__.py +1 -1
- package/docs/AGENT-CHANGE-RECEIPT.md +47 -0
- package/docs/CLI-REFERENCE.md +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/docs/v10/DEPS.md +1 -0
- package/docs/v10/FAILURE-CLASSES.md +8 -0
- package/docs/v10/GUIDE.md +17 -22
- package/docs/v10/PROGRESS.md +25 -0
- package/docs/v10/RELEASE-11.md +77 -0
- package/docs/v11/C1-multi-user-sso.md +30 -0
- package/docs/v11/C10-the-8090-teardown.md +28 -0
- package/docs/v11/C11-mcp-modern.md +16 -0
- package/docs/v11/C2-hosted-runner.md +30 -0
- package/docs/v11/C3-reproducible-environments.md +30 -0
- package/docs/v11/C4-bitbucket-azure.md +29 -0
- package/docs/v11/C5-open-local-models.md +29 -0
- package/docs/v11/C6-secrets-handling.md +31 -0
- package/docs/v11/C7-windows.md +30 -0
- package/docs/v11/C8-public-benchmark.md +30 -0
- package/docs/v11/C9-opt-in-telemetry.md +33 -0
- package/docs/v11/README.md +32 -0
- package/loki-ts/dist/loki.js +696 -682
- package/mcp/__init__.py +1 -1
- package/package.json +3 -2
- package/packages/control-plane/dist/ask-tools-server.js +41169 -0
- package/packages/control-plane/dist/server.js +2080 -980
- package/packages/control-plane/package.json +1 -1
- package/packages/control-plane/src/ask/invoke.ts +42 -0
- package/packages/control-plane/src/ask/policy.ts +65 -0
- package/packages/control-plane/src/ask/prompt.ts +38 -0
- package/packages/control-plane/src/ask/store.ts +88 -0
- package/packages/control-plane/src/ask/worker.ts +136 -0
- package/packages/control-plane/src/db/fixture-cleanup.ts +24 -10
- package/packages/control-plane/src/server/app.ts +13 -6
- package/packages/control-plane/src/server/ingest.ts +6 -1
- package/packages/control-plane/src/server/reconcile.ts +33 -0
- package/packages/control-plane/src/server/repos.ts +37 -3
- package/packages/control-plane/src/server/routes/ask.ts +139 -0
- package/packages/control-plane/src/server/routes/cost.ts +19 -0
- package/packages/control-plane/src/server/routes/doctor.ts +67 -0
- package/packages/control-plane/src/server/routes/index.ts +7 -3
- package/packages/control-plane/src/server/routes/stream.ts +22 -11
- package/packages/control-plane/src/server/runs.ts +27 -0
- package/packages/control-plane/src/server/spawn.ts +19 -6
- package/packages/control-plane/ui/dist/assets/index-CxZWgwie.css +1 -0
- package/packages/control-plane/ui/dist/assets/index-DcBJXjCJ.js +190 -0
- package/packages/control-plane/ui/dist/index.html +2 -2
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-CmgIgBFY.js → AdminPage-DT071AJt.js} +1 -1
- package/web-app/dist/assets/{Avatar-Dm3ypJzh.js → Avatar-BlrQe1qX.js} +1 -1
- package/web-app/dist/assets/{Badge-0siYUwAA.js → Badge-lTUHjeos.js} +1 -1
- package/web-app/dist/assets/{Button-EMKQXvZe.js → Button-GewN0tNc.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-Z60eDvJ9.js → CockpitPage-DrO_gIsU.js} +1 -1
- package/web-app/dist/assets/{ComparePage-D4L7nViy.js → ComparePage-DONALZcu.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary--v9DugrJ.js → ErrorBoundary-C6ZKmMc3.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-CA866XsM.js → EvidenceReceiptPanel-BKd4DLj6.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-Bi6FJmR2.js → GitHubIssuesPanel-A6lIpXXR.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-CgSfcWOg.js → GitHubPRsPanel-pR1qVGFE.js} +1 -1
- package/web-app/dist/assets/{HomePage-BxQtk9Ec.js → HomePage-bWv4-4k6.js} +2 -2
- package/web-app/dist/assets/{LoginPage-CCSxWlFA.js → LoginPage-D15fkL9Y.js} +1 -1
- package/web-app/dist/assets/{MagicPage-B4eYm0jJ.js → MagicPage-i6SBuJQM.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-Bp4Hh0p2.js → MetricsPage-CUmjtIoG.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-DTXk_JK4.js → NotFoundPage-ChmAJkSz.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-6S1v0GHS.js → ProjectPage-CjNXA3Nw.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-9foqEwG2.js → ProjectsPage-Bz2RXP8-.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-CWOG_hhD.js → SettingsPage-BOPmXS7a.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-Du9LYlao.js → ShowcasePage-DD7bQm3F.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-BQconaDX.js → SystemSettingsPage-CT3PgCUq.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-_NsqtVmC.js → TeamsPage-BavvjzSJ.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-DyTEGBpR.js → TemplatesPage-DEG8i3uW.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-XHOYTpky.js → TerminalOutput-CBYzxa0B.js} +1 -1
- package/web-app/dist/assets/{activity-B9KiMdEs.js → activity-DlboSvUU.js} +1 -1
- package/web-app/dist/assets/{bell-Oe4lG6kK.js → bell-CJeJkmKT.js} +1 -1
- package/web-app/dist/assets/{bot-D86Qmxfy.js → bot-uzIrJnZD.js} +1 -1
- package/web-app/dist/assets/{check-BvW6_ni0.js → check-Bewu2Iay.js} +1 -1
- package/web-app/dist/assets/{chevron-left-DYA62-3g.js → chevron-left-DEysJM-t.js} +1 -1
- package/web-app/dist/assets/{circle-alert-CHW8ye4p.js → circle-alert-CPLcNoq8.js} +1 -1
- package/web-app/dist/assets/{clock-QbQ2XfbM.js → clock-ByRncQBl.js} +1 -1
- package/web-app/dist/assets/{cloud-ylzrY7eL.js → cloud-DHYxCPZZ.js} +1 -1
- package/web-app/dist/assets/{code-xml-DdKKw2Y9.js → code-xml-BuzWGPzB.js} +1 -1
- package/web-app/dist/assets/{database-BLY_OWs3.js → database-BWEwDMiP.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-CsFIa1e2.js → dollar-sign-CGmUPUwE.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-Df4nyrCW.js → file-code-corner-CDBuJZyI.js} +1 -1
- package/web-app/dist/assets/{file-plus-_MWEY2WY.js → file-plus-CdZblpEV.js} +1 -1
- package/web-app/dist/assets/{globe-Dpc7QU9m.js → globe-Cowwu6Ai.js} +1 -1
- package/web-app/dist/assets/{hammer-B-PldT0c.js → hammer-DnLoK-ns.js} +1 -1
- package/web-app/dist/assets/{index-gq0R3j-o.js → index-D2lNcBZ2.js} +3 -3
- package/web-app/dist/assets/{layers-BjcNwHLZ.js → layers-Rx4mi5c5.js} +1 -1
- package/web-app/dist/assets/{loader-circle-CoTgcqkV.js → loader-circle-DvFfixiL.js} +1 -1
- package/web-app/dist/assets/{lock-JEI8O6TS.js → lock-BBme3oKq.js} +1 -1
- package/web-app/dist/assets/{package-CXWkNS40.js → package-CMetrH6c.js} +1 -1
- package/web-app/dist/assets/{plus-CRK4U5b0.js → plus-DVVns7YI.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-CrzWr4cw.js → refresh-cw-BwxSxRvP.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-DV7UZyUw.js → rotate-ccw-B3bQkZTK.js} +1 -1
- package/web-app/dist/assets/{scroll-text-CXEqRrXU.js → scroll-text-YtUOGO66.js} +1 -1
- package/web-app/dist/assets/{server-CDFfFP10.js → server-CtsspPXY.js} +1 -1
- package/web-app/dist/assets/{shield-alert-B5EC_m6_.js → shield-alert-DPXb3JfQ.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-BeLDemd2.js → thumbs-up-BLCEqoJv.js} +1 -1
- package/web-app/dist/assets/{trash-2-B7kS86-0.js → trash-2-DzG9BsOq.js} +1 -1
- package/web-app/dist/assets/{trending-down-BGvuLayo.js → trending-down-DbcPLKOe.js} +1 -1
- package/web-app/dist/assets/{trending-up-BkPM2tiK.js → trending-up-B2QEVmFq.js} +1 -1
- package/web-app/dist/assets/{upload-CXVI0GRU.js → upload-CzVHQcht.js} +1 -1
- package/web-app/dist/assets/{usePolling-CMGMVsMA.js → usePolling-ceGuFnBH.js} +1 -1
- package/web-app/dist/assets/{user-DPcXNtfj.js → user-qYglqMMb.js} +1 -1
- package/web-app/dist/index.html +1 -1
- package/autonomy/lib/engine10-legacy-notice.txt +0 -3
- package/packages/control-plane/ui/dist/assets/index-BinL6h3i.css +0 -1
- package/packages/control-plane/ui/dist/assets/index-D27veKDf.js +0 -152
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# C2: Hosted or remote runner
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Loki Mode runs only on the user's local machine. Enterprises need:
|
|
5
|
+
- Isolated, ephemeral build environments (security, no credential leakage)
|
|
6
|
+
- Horizontal scaling: queue runs for execution on a farm of workers
|
|
7
|
+
- Audit trail of which machine ran which task
|
|
8
|
+
|
|
9
|
+
## Current state
|
|
10
|
+
- `autonomy/run.sh` executes locally only
|
|
11
|
+
- No runner registration or dispatch mechanism
|
|
12
|
+
- No queue table in database
|
|
13
|
+
- mcp/server.py has no worker heartbeat or job assignment API
|
|
14
|
+
|
|
15
|
+
## Proposed v1 scope
|
|
16
|
+
- Worker registration API: `POST /workers/register` with hostname, CPU, disk, status
|
|
17
|
+
- Job queue table with status (pending, claimed, running, done, failed)
|
|
18
|
+
- Job assignment: simple round-robin to available workers
|
|
19
|
+
- CLI flag `--runner-pool=prod` to dispatch instead of run locally
|
|
20
|
+
- Worker heartbeat every 30s with status update
|
|
21
|
+
- Audit field in job: which runner IP, user, invocation time
|
|
22
|
+
|
|
23
|
+
## Open questions
|
|
24
|
+
- Deploy runners on Kubernetes or VMs?
|
|
25
|
+
- How to provision ephemeral runner images? (Docker, Nix, Terraform?)
|
|
26
|
+
- Session affinity: can one user's job see another's?
|
|
27
|
+
- Secret injection: per-runner vault, or shared secret store?
|
|
28
|
+
|
|
29
|
+
## Why deferred from 11.0.0
|
|
30
|
+
Infra dependency: requires managed runner service outside repo scope. Licensing cost unclear. No tier-A demand.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# C3: Reproducible environments
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Build outputs depend on local environment state: npm versions, Go compiler, Python packages. Runs fail or diverge when run elsewhere.
|
|
5
|
+
- Nondeterministic outputs break verification receipts
|
|
6
|
+
- Requires environment lockfiles for Node, Go, Python, etc.
|
|
7
|
+
- CI builds differ from local development
|
|
8
|
+
|
|
9
|
+
## Current state
|
|
10
|
+
- `package.json` and `go.mod` are source-of-truth (no pinned lock files shipped)
|
|
11
|
+
- `scripts/local-ci.sh` does not enforce lockfile generation
|
|
12
|
+
- Docker builds use untagged base images (always latest)
|
|
13
|
+
- `Dockerfile` line 3 uses `FROM node:20` (no SHA pin)
|
|
14
|
+
|
|
15
|
+
## Proposed v1 scope
|
|
16
|
+
- Mandate `npm ci` (not `npm install`) in all build scripts
|
|
17
|
+
- Pin Go 1.22.x in `go.mod` + `go.sum` required
|
|
18
|
+
- Pin Python dependencies in `requirements.txt` or `uv.lock`
|
|
19
|
+
- Dockerfile uses SHA-pinned base images: `FROM node:20@sha256:abc123...`
|
|
20
|
+
- Build script emits `_environment.json` with tool versions
|
|
21
|
+
- Receipt validation includes environment hash
|
|
22
|
+
|
|
23
|
+
## Open questions
|
|
24
|
+
- Which lockfile format per language? (npm ci, Poetry, pip-compile?)
|
|
25
|
+
- How often to refresh pins? (monthly, per release, never?)
|
|
26
|
+
- Should CI enforce `git diff --check` on lockfiles?
|
|
27
|
+
- How to handle transitive dependencies that vary per OS?
|
|
28
|
+
|
|
29
|
+
## Why deferred from 11.0.0
|
|
30
|
+
Design work needed: pin strategy, validation rules. No current receipt validation.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# C4: Bitbucket and Azure DevOps
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Loki Mode integrates with GitHub only: issue parsing, webhook dispatch, status updates. Enterprise customers use:
|
|
5
|
+
- Bitbucket Cloud/Server
|
|
6
|
+
- Azure DevOps (ADO)
|
|
7
|
+
- GitLab (via webhook, but no parsing)
|
|
8
|
+
|
|
9
|
+
## Current state
|
|
10
|
+
- `mcp/server.py` has `/webhooks/github` only (line ~340)
|
|
11
|
+
- Issue parsing in `autonomy/parse-issue.sh` calls GitHub API only
|
|
12
|
+
- Status updates via `gh api repos/...` (GitHub CLI)
|
|
13
|
+
- No abstraction over VCS platform
|
|
14
|
+
|
|
15
|
+
## Proposed v1 scope
|
|
16
|
+
- VCS abstraction layer: detect provider from webhook origin
|
|
17
|
+
- Bitbucket Cloud: parse PR/issue webhook, query API, post status
|
|
18
|
+
- Azure DevOps: parse webhook, query ADO API, post build status
|
|
19
|
+
- CLI flag `--vcs=bitbucket` to override GitHub default
|
|
20
|
+
- Detect provider from repo URL (bitbucket.org, dev.azure.com, github.com)
|
|
21
|
+
|
|
22
|
+
## Open questions
|
|
23
|
+
- Bitbucket Cloud vs Server vs Data Center: which to ship first?
|
|
24
|
+
- ADO: personal access token vs service principal auth?
|
|
25
|
+
- Status API parity: are all GitHub status fields available in Bitbucket/ADO?
|
|
26
|
+
- How to test without paid Bitbucket/ADO accounts?
|
|
27
|
+
|
|
28
|
+
## Why deferred from 11.0.0
|
|
29
|
+
No tier-A demand. Requires test accounts and API key management.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# C5: Open or local models
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Loki Mode ships with Claude, Codex, and Gemini APIs only. Customers want:
|
|
5
|
+
- Local LLM inference (Ollama, vLLM) for data privacy
|
|
6
|
+
- Open models (Llama 3, Mistral, Qwen) to reduce cost
|
|
7
|
+
- Model selection per task (Haiku for tests, Opus for planning)
|
|
8
|
+
|
|
9
|
+
## Current state
|
|
10
|
+
- `providers/claude.sh`, `codex.sh`, `gemini.sh` call their respective APIs
|
|
11
|
+
- No local model runner
|
|
12
|
+
- Model hardcoded in CLI config
|
|
13
|
+
- No OpenAI-compatible API abstraction
|
|
14
|
+
|
|
15
|
+
## Proposed v1 scope
|
|
16
|
+
- OpenAI-compatible interface (Ollama, vLLM, LocalAI)
|
|
17
|
+
- Provider: `LOKI_PROVIDER=local LOKI_LOCAL_API=http://127.0.0.1:8000`
|
|
18
|
+
- Model selection: `LOKI_MODEL=llama2:70b` or `mistral`
|
|
19
|
+
- Provider loader detects local vs remote API
|
|
20
|
+
- Fallback chain: try local first, fail if unreachable
|
|
21
|
+
|
|
22
|
+
## Open questions
|
|
23
|
+
- Which local runners to support? (Ollama primary, vLLM, LocalAI fallback?)
|
|
24
|
+
- Model registry: hardcoded list or discovery from endpoint?
|
|
25
|
+
- Context window limits: how to query max_tokens from Ollama?
|
|
26
|
+
- How to test CI without hosting local models?
|
|
27
|
+
|
|
28
|
+
## Why deferred from 11.0.0
|
|
29
|
+
Adds infrastructure cost and complexity. No tier-A demand. Requires Ollama/vLLM hosting.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# C6: Secrets handling
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Credentials are passed via env vars (AWS_ACCESS_KEY, GITHUB_TOKEN, etc.). Risk:
|
|
5
|
+
- Secrets leak into logs, artifacts, run output
|
|
6
|
+
- No audit trail of secret access
|
|
7
|
+
- Plaintext in environment diff
|
|
8
|
+
- No rotation policy
|
|
9
|
+
|
|
10
|
+
## Current state
|
|
11
|
+
- Secrets passed as env vars to agent invocations
|
|
12
|
+
- Logs captured to artifacts (may contain redacted secrets)
|
|
13
|
+
- `mcp/server.py` has no secrets table
|
|
14
|
+
- Dashboard shows run output plaintext
|
|
15
|
+
|
|
16
|
+
## Proposed v1 scope
|
|
17
|
+
- Secrets table: name, provider (AWS, GitHub, etc.), encrypted value
|
|
18
|
+
- Rotation API: `POST /secrets/rotate` with grace period
|
|
19
|
+
- Log redaction: regex patterns to mask secrets in output
|
|
20
|
+
- Audit log: who accessed which secret, when
|
|
21
|
+
- CLI flag `--secret-backend=vault` to specify provider (vault, 1Password, AWS Secrets Manager)
|
|
22
|
+
- Output filter: scrub secrets before storing artifacts
|
|
23
|
+
|
|
24
|
+
## Open questions
|
|
25
|
+
- Which secret backends to ship: Vault, 1Password, AWS Secrets Manager?
|
|
26
|
+
- Grace period on secret rotation: 0s (immediate) or 24h (slow rollout)?
|
|
27
|
+
- Audit log retention: how long to keep secret access records?
|
|
28
|
+
- How to test secret redaction without real credentials?
|
|
29
|
+
|
|
30
|
+
## Why deferred from 11.0.0
|
|
31
|
+
Scope: secrets backend integration, redaction and audit together. No tier-A demand. Security review required.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# C7: Windows
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Loki Mode is tested on macOS and Linux only. Windows users face:
|
|
5
|
+
- Bash scripts fail or require WSL (Windows Subsystem for Linux)
|
|
6
|
+
- PowerShell incompatibilities (no `set -e` equivalent)
|
|
7
|
+
- Path separators: `/` vs `\` hardcoded
|
|
8
|
+
- No native executable (only Node.js bundle)
|
|
9
|
+
|
|
10
|
+
## Current state
|
|
11
|
+
- All scripts in `bash/` or sourced by `run.sh` (Bash 4+)
|
|
12
|
+
- No PowerShell equivalents
|
|
13
|
+
- CI uses Linux runners only
|
|
14
|
+
- Binary distribution via npm (requires Node.js on Windows)
|
|
15
|
+
|
|
16
|
+
## Proposed v1 scope
|
|
17
|
+
- PowerShell shims for core scripts (run.ps1, invoke.ps1)
|
|
18
|
+
- Path abstraction: use cross-platform join logic
|
|
19
|
+
- Package Windows native binary (Go cross-compile to loki-mode.exe)
|
|
20
|
+
- CI: add Windows Server 2022 runner
|
|
21
|
+
- Test matrix: bash (WSL), PowerShell, native exe
|
|
22
|
+
|
|
23
|
+
## Open questions
|
|
24
|
+
- Ship PowerShell or require WSL?
|
|
25
|
+
- Native exe in Go or keep Node.js only?
|
|
26
|
+
- How to handle symlinks (junction points on Windows)?
|
|
27
|
+
- CI cost: GitHub Windows runners are 2x cost of Linux
|
|
28
|
+
|
|
29
|
+
## Why deferred from 11.0.0
|
|
30
|
+
Windows demand is not measured. Cross-platform testing complexity. CI cost.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# C8: Public benchmark
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
No standardized benchmark for Loki Mode. Claimed metrics (30-60 releases/day, 10x10 slice parallelization) lack published data:
|
|
5
|
+
- No baseline to compare against other systems
|
|
6
|
+
- No proof-of-function for customers
|
|
7
|
+
- Benchmark results not auditable or reproducible
|
|
8
|
+
|
|
9
|
+
## Current state
|
|
10
|
+
- Internal metrics in `docs/dev/METRICS.md` (not public)
|
|
11
|
+
- Release velocity measured via git log (post hoc)
|
|
12
|
+
- No standardized test suite for competitors
|
|
13
|
+
- No published SWE-bench score or equivalent
|
|
14
|
+
|
|
15
|
+
## Proposed v1 scope
|
|
16
|
+
- Benchmark suite: 50-100 representative tasks (swebench subset, internal tests)
|
|
17
|
+
- Auto-grade output against oracle (code compiles, tests pass, etc.)
|
|
18
|
+
- Publish results: tasks completed, time-to-first-try, cost per task
|
|
19
|
+
- CI run daily, publish results to website
|
|
20
|
+
- Competitor parity: run same suite on Cursor, Cline, Factory
|
|
21
|
+
- Result dataset: JSON with timestamps, model, cost, success
|
|
22
|
+
|
|
23
|
+
## Open questions
|
|
24
|
+
- Which benchmark? (swebench, humaneval, internal tasks, or custom?)
|
|
25
|
+
- Grade criteria: test pass only, or coverage, latency, cost?
|
|
26
|
+
- Frequency: daily, weekly, or per release?
|
|
27
|
+
- Competitor data: public (Cursor, Devin) or private agreement?
|
|
28
|
+
|
|
29
|
+
## Why deferred from 11.0.0
|
|
30
|
+
Benchmark design requires domain expertise. Cost per run unclear. Competitor data agreements needed.x is production-ready.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# C9: Opt-in telemetry
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
Loki Mode emits no telemetry: build lifecycle, errors, user flows are invisible. Cannot measure:
|
|
5
|
+
- Which features are used
|
|
6
|
+
- Which gates fail most often
|
|
7
|
+
- Where users drop off
|
|
8
|
+
- How to improve UX
|
|
9
|
+
|
|
10
|
+
Without telemetry, product decisions are guesses.
|
|
11
|
+
|
|
12
|
+
## Current state
|
|
13
|
+
- No telemetry client in mcp/server.py or autonomy/run.sh
|
|
14
|
+
- GitHub Actions CI has no event tracking
|
|
15
|
+
- Dashboard renders with no page-load tracking
|
|
16
|
+
- Error reporting is manual only (GitHub issues)
|
|
17
|
+
|
|
18
|
+
## Proposed v1 scope
|
|
19
|
+
- Event schema: run_start, run_end, gate_failure, error, UI action
|
|
20
|
+
- Collector endpoint: HTTP POST to telemetry backend
|
|
21
|
+
- Opt-in only: default off, nothing sent unless the user turns it on
|
|
22
|
+
- PII redaction: no file paths, user email, or secrets in events
|
|
23
|
+
- Client library: shared across CLI, dashboard, API
|
|
24
|
+
- Data retention: not decided (open question)
|
|
25
|
+
|
|
26
|
+
## Open questions
|
|
27
|
+
- Which backend? (self-hosted, Segment, Datadog, Amplitude?)
|
|
28
|
+
- What is "error-only" baseline? (auth failures, CI reds, agent errors?)
|
|
29
|
+
- Data ownership: customer data stays in account or shipped to us?
|
|
30
|
+
- GDPR/SOC2: does telemetry require compliance review?
|
|
31
|
+
|
|
32
|
+
## Why deferred from 11.0.0
|
|
33
|
+
Privacy and compliance review required. Requires backend infrastructure. Data retention policy needs legal.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# v11 Roadmap: Tier C Deferred Features
|
|
2
|
+
|
|
3
|
+
This directory documents the Tier C features deferred from v11.0.0. Each feature file contains:
|
|
4
|
+
- Problem: user need or gap
|
|
5
|
+
- Current state: implementation status with file paths
|
|
6
|
+
- Proposed v1 scope: minimal viable implementation
|
|
7
|
+
- Open questions: design decisions needed
|
|
8
|
+
- Why deferred: rationale and timing
|
|
9
|
+
|
|
10
|
+
## Features (C1-C11)
|
|
11
|
+
|
|
12
|
+
| Feature | Title | Scheduled | Status |
|
|
13
|
+
|---------|-------|-----------|--------|
|
|
14
|
+
| C1 | Multi-user logins, roles and SSO | not scheduled | Deferred |
|
|
15
|
+
| C2 | Hosted or remote runner | not scheduled | Deferred |
|
|
16
|
+
| C3 | Reproducible environments | not scheduled | Deferred |
|
|
17
|
+
| C4 | Bitbucket and Azure DevOps | not scheduled | Deferred |
|
|
18
|
+
| C5 | Open or local models | not scheduled | Deferred |
|
|
19
|
+
| C6 | Secrets handling | not scheduled | Deferred |
|
|
20
|
+
| C7 | Windows | not scheduled | Deferred |
|
|
21
|
+
| C8 | Public benchmark | not scheduled | Deferred |
|
|
22
|
+
| C9 | Opt-in telemetry | not scheduled | Deferred |
|
|
23
|
+
| C10 | The 8090 teardown | not scheduled | Deferred |
|
|
24
|
+
| C11 | MCP-MODERN (next minor) | not scheduled | Deferred |
|
|
25
|
+
|
|
26
|
+
## Deferral rationale
|
|
27
|
+
|
|
28
|
+
All Tier C features are deferred so that 11.0.0 stays scoped to the Tier A and Tier B rows in docs/v10/RELEASE-11.md. Each file below records the problem, the current state and the open questions; none carries a schedule.
|
|
29
|
+
|
|
30
|
+
## Reading guide
|
|
31
|
+
|
|
32
|
+
Start with the feature title in the table above, then read its .md file for context. For strategic decisions (C1 auth, C6 secrets, C9 telemetry), flag open questions with the CTO. For research tasks (C10), assign to the Competitor Intelligence team.
|