2026-02-09 17:21:42 -07:00
# Feature Requests
> Backlog of feature ideas to triage into future sprints (e.g., Sprint 6/7).
2026-02-10 07:31:01 -07:00
## Security Vulnerability Awareness (Dependencies) — IMPLEMENTED (Sprint 6, Steps 190– 195)
2026-02-09 17:21:42 -07:00
**Goal:** Warn when a dependency has known vulnerabilities and surface safer alternatives.
**Concept:**
- Maintain a vulnerability knowledge base (local cache + optional remote sources).
- When a dependency is added/updated, show immediate warnings.
- Surface findings in the Dependencies panel and Problems list.
- Optionally block auto-upgrade to vulnerable versions.
**Potential Data Sources:**
- OSV (Open Source Vulnerabilities) API / datasets
- NVD (CVE/NVD feeds)
- GitHub Security Advisories (GHSA)
- OWASP references (for categorization)
**Candidate Data Model:**
- `VulnerabilityRecord`
- `ecosystem` (pypi/npm/crates/maven/go/vcpkg/etc)
- `package`
- `affected_versions`
- `severity`
- `summary`
- `references`
**UI/UX:**
2026-02-10 07:31:01 -07:00
- Dependencies panel: inline warning badges and <20> View Advisory<72> .
2026-02-09 17:21:42 -07:00
- Problems panel: security diagnostics with severity.
- Agent hints: prefer safe alternatives when available.
---
2026-02-10 07:31:01 -07:00
## Semantic Annotations for Library APIs — IMPLEMENTED (Sprint 6, Steps 193– 194)
2026-02-09 17:21:42 -07:00
**Goal:** Tag library functions/types with semantic annotations (e.g., `@serialize` , `@crypto` , `@io` ) so humans/agents can discover intent-driven APIs quickly.
**Concept:**
- Add annotation metadata for library symbols (by library + symbol).
- Attach annotations to `ExternalModule` / `TypeSignature` nodes.
- Use annotations to filter in Library Browser and guide agent completion.
**Candidate Storage:**
- `annotations/library_semanno.json` (or similar)
- Format: `{ library: { symbol: [annotations...] } }`
**UI/UX:**
- Library Browser: filter by annotation tag.
- Completion ranking: prioritize annotated matches for task keywords.
2026-02-10 07:31:01 -07:00
- Agent prompts: <20> Use @serialize APIs<49> guidance.
2026-02-09 17:21:42 -07:00
---
## Notes
- Treat these as separate features to schedule independently.
- Likely Sprint 6/7, after core library-aware flow is stable.
2026-02-09 17:25:43 -07:00
2026-02-10 07:31:01 -07:00
## LLM Tooling & MCP Bridge — PLANNED (Sprint 7, Steps 202– 234)
2026-02-09 17:25:43 -07:00
**Goal:** Make the agent API easy for LLMs to use and optionally expose it via MCP.
2026-02-10 07:31:01 -07:00
**Status:** Full plan written in `sprint7_plan.md` . 33 steps across 6 phases:
- Phase 7a: API documentation & JSON schemas (Steps 202– 206)
- Phase 7b: MCP server with tools/resources/prompts (Steps 207– 213)
- Phase 7c: Synthetic trace generation for training data (Steps 214– 219)
- Phase 7d: Evaluation harness for LLM tool-use accuracy (Steps 220– 224)
- Phase 7e: Model-specific tool definitions — Claude, Codex, open-source (Steps 225– 229)
- Phase 7f: Session recording pipeline — capture, anonymize, export (Steps 230– 234)
2026-02-09 17:25:43 -07:00
---
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## PHP Language Support (Full Pipeline) <20> PROPOSED
2026-02-10 09:51:23 -07:00
**Goal:** Add full PHP support (parse, AST, generate, project, and annotations) to Whetstone.
**Scope:**
- Tree-sitter PHP parser integration
- PHP AST mapping to SemAnno concepts
- PHP generator with annotation-aware output
- Cross-language projection to/from PHP
- Tests: parse/generate round-trip, annotation preservation, projection matrix coverage
**Notes:**
- Start with core PHP syntax (functions, classes, namespaces, arrays, exceptions, traits).
- WordPress-specific libraries on top of core PHP support.
---
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## WordPress Support (Library + Semantics) <20> PROPOSED
2026-02-10 09:51:23 -07:00
**Goal:** Enable WordPress-aware tooling on top of PHP support.
**Scope:**
- Library symbol stubs for WordPress core APIs
- Semantic tags for WP concepts (hooks, filters, actions)
- Agent suggestions for safe WP patterns
---
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## Rust Plugin Packaging (Conflict Resolver) <20> PROPOSED
2026-02-10 09:51:23 -07:00
**Goal:** Package a Rust-based topological conflict resolver as a Whetstone plugin.
**Scope:**
- Define plugin interface for external tools
- Packaging format and plugin discovery/loading
- Example integration with a Rust binary or shared library
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## Julia Language Support (Full Pipeline) <20> PROPOSED
2026-02-10 09:56:03 -07:00
**Goal:** Add full Julia support (parse, AST, generate, project, and annotations) to Whetstone.
**Scope:**
- Tree-sitter Julia parser integration
- Julia AST mapping to SemAnno concepts
- Julia generator with annotation-aware output
- Cross-language projection to/from Julia
- Tests: parse/generate round-trip, annotation preservation, projection matrix coverage
---
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## Julia ML Projection Layer <20> PROPOSED
2026-02-10 09:56:03 -07:00
**Goal:** Map common Python ML/Numerical APIs to Julia equivalents while preserving optimization intent.
**Scope:**
- API mapping table (NumPy/Pandas/Torch core calls ? Julia equivalents)
- Semantic tags for numerical/tensor operations
- Fallback interop for unmapped calls (PyCall/JuliaCall)
- Dual projections: clean surface Julia + preserved optimization annotations
2026-02-10 09:59:38 -07:00
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## Julia Packaging Strategy <20> PROPOSED
2026-02-10 09:59:38 -07:00
**Goal:** Define a reliable packaging path for Julia-based artifacts.
**Scope:**
- Document options: runtime install, PackageCompiler.jl, embedding Julia as a library
- Provide recommended defaults for CLI tools vs GUI apps
- Include guidance for minimizing startup latency and bundle size
2026-02-10 10:00:27 -07:00
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## Python/C++/JS-TS Support Enhancements <20> PROPOSED
2026-02-10 10:00:27 -07:00
**Goal:** Expand first-class support for Python, C++, and JS/TS beyond current parse/generate.
**Scope:**
- Improve language-specific projection fidelity and diagnostics
- Expand standard library and ecosystem stubs (pip/npm/vcpkg)
- Add language-specific refactor recipes and annotation guidance
- Strengthen test corpus and projection round-trip coverage
---
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
## Plugin System Enhancements <20> PROPOSED
2026-02-10 10:00:27 -07:00
**Goal:** Expand plugin support for external tools and language packs.
**Scope:**
- Standardize plugin packaging format
- Document plugin API and lifecycle hooks
- Add plugin discovery and version compatibility checks
- Provide example plugins for language packs and external analyzers
Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR
adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic
families, low-level/logic-actor semantics, debug workflow tooling, AST-native
family tools, Rust/CPP raising tools, system-level orchestration, query family,
and porting gates. Sprint 59 adds the governance layer (policy packs, review
boards, waiver packets, ambiguity triage, decision ledger) with the
whetstone_review_porting_decision MCP tool.
Also includes: sprint plans 46-130, MCP taskitem pipeline scripts,
CLAUDE.md, docs, and full test matrix (steps 689-828).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 13:18:10 -07:00
---
## Resource Lock Constraints on TaskItems — SPRINT 46 CANDIDATE
**Filed by:** HiveMind project agent (2026-02-21)
**Priority:** High — blocks correct parallel scheduling
**Source spec:** `hivemind/docs/WHETSTONE_FEATURE_REQUEST_RESOURCE_LOCKS.md`
**Components:** `AnnotatedTaskitem` schema, `whetstone_generate_taskitems` , `whetstone_queue_ready` , `whetstone_validate_taskitem`
**Problem:**
`dependencyTaskIds` models causal ordering (DAG edges). It does not model mutual
exclusion — two tasks that cannot run concurrently because they share a resource,
even though neither depends on the other's output. Without this, the scheduler must
either serialize everything or rely on humans to catch conflicts. Both fail at scale.
**Proposed schema addition:**
```typescript
interface AnnotatedTaskitem {
// ... existing fields ...
// NEW
resourceLocks?: string[]; // Named resources held exclusively during execution.
// Tasks with overlapping locks are serialized by scheduler.
// Node-local by default. Prefix "global:" for swarm-wide mutex.
// Examples: "drone-process", "sqlite-db", "file:/path/to/f",
// "global:nexus-jobs-queue"
}
```
**Key distinction:**
| Field | Meaning | Relationship |
|-------|---------|--------------|
| `dependencyTaskIds: [A]` | A must finish before I start | Directed — A → B |
| `resourceLocks: ["db"]` | I need exclusive access to "db" while running | Undirected — A ↔ B |
**`exclusionGroup` as sugar:** `exclusionGroup: "X"` expands to `resourceLocks: ["group:X"]` .
One model, two syntaxes.
**Lock scope convention (addition to original spec):**
All locks are node-local by default. Prefix `global:` for swarm-wide mutual exclusion.
HiveMind's scheduler knows the dispatch target node and enforces accordingly.
**Sprint 46 plan (5 steps):**
1. Schema: add `resourceLocks?: string[]` to `AnnotatedTaskitem`
2. Generator: infer locks in `TaskitemGeneratorV2` from spec signals ("both tests spin up a drone" → `drone-process` , "shared SQLite DB" → `sqlite-db` , "same port" → `nexus-port-N` )
3. MCP: surface locks in `whetstone_generate_taskitems` output
4. Queue: add `resource_conflict_unresolved` warning class to `whetstone_queue_ready` (warn on serialization, don't block)
5. Validation: `whetstone_validate_taskitem` checks lock name format, flags node-local vs global ambiguity
**Precedent:** GNU Make `.NOTPARALLEL` , Bazel `tags=["exclusive"]` , GitHub Actions `concurrency:` , Kubernetes resource quotas, POSIX `flock(2)` .
---
## Deterministic MCP Debugging Workflow for SLM Agents — PROPOSED
**Filed by:** Whetstone execution session (2026-02-21)
**Priority:** Critical for self-improving low-context agents
**Goal:** Make generation + debugging robust enough that small/local models can complete tasks without expert intuition.
### Why this matters
Current flow is strong for generation and validation, but debugging still relies heavily on manual compile/test interpretation. Strong agents can compensate; weaker agents cannot. The system needs deterministic failure triage and patch guidance, not just raw logs.
### Feature Request A: Structured Failure Packet Tool
**Tool name:** `whetstone_capture_failure_packet`
**Problem:**
Compile/test output is noisy and non-deterministic across environments. SLMs need compact, stable failure packets.
**Requirements:**
- Input: command, cwd, optional target (`step707_test` , etc.)
- Output packet fields:
- `failureClass` (`compile_error` , `test_assertion` , `schema_error` , `tool_contract_error` , `runtime_error` )
- `primaryFile` , `primaryLine` , `primarySymbol`
- `normalizedMessage` (deduped, canonicalized)
- `reproCommand`
- `firstFailingTest` (if test run)
- `confidence`
- Deterministic normalization rules (same stderr -> same packet).
**Acceptance criteria:**
- Same failing command produces byte-stable JSON packet across repeated runs.
- Packet size bounded (e.g., <= 8 KB) with deterministic truncation.
### Feature Request B: Root-Cause Clustering Tool
**Tool name:** `whetstone_cluster_failures`
**Problem:**
One broken include can yield dozens of compiler errors. Small models need one root cause, not 50 symptoms.
**Requirements:**
- Group errors by root cause signature (`missing_symbol` , `type_mismatch` , `include_cycle` , `schema_shape_mismatch` ).
- Return ordered clusters with:
- `clusterId`
- `rootCauseCandidate`
- `blastRadius`
- `fixFirst` boolean
- Deterministic ordering by severity + source location.
**Acceptance criteria:**
- At least 80% reduction in symptom-level errors shown to agent for common compile breaks.
### Feature Request C: Patch Proposal Tool
**Tool name:** `whetstone_propose_patch_for_failure`
**Problem:**
Weak agents can identify a failure but cannot reliably synthesize a minimal fix.
**Requirements:**
- Input: failure packet + repository context slice.
- Output:
- `patchPlan` (ordered edit intents)
- `candidatePatch` (unified diff)
- `riskLevel`
- `expectedTestsToRun`
- Must include explicit invariants ("do not alter unrelated files", "preserve JSON schema keys").
**Acceptance criteria:**
- Patch can be applied automatically in dry-run mode.
- For known failure fixtures, first proposal passes targeted test in >=60% cases.
### Feature Request D: Deterministic Debug Loop Orchestrator
**Tool name:** `whetstone_debug_until_green`
**Problem:**
Current workflows require manual sequencing: run test, parse output, patch, rerun.
**Requirements:**
- Single loop with explicit phases:
1. reproduce
2. capture failure packet
3. cluster root cause
4. propose patch
5. apply patch (optional gated)
6. rerun targeted tests
7. emit outcome report
- Hard iteration cap (`maxIterations` ) and stop reasons.
- Full state machine emitted as JSON transitions.
**Acceptance criteria:**
- Re-running with same seed/state yields same action sequence.
- No hidden state outside packet history.
### Feature Request E: Repro Packet Archive & Replay
**Tool names:** `whetstone_save_repro_packet` , `whetstone_replay_repro_packet`
**Problem:**
Debugging quality is hard to improve without stable training/eval fixtures.
**Requirements:**
- Save packet: failing command, env snapshot, file hashes, failure packet, patch attempt history.
- Replay packet in sandbox and verify same failure class before patching.
- Export format compatible with LoRA/SLM fine-tuning datasets.
**Acceptance criteria:**
- Replay reproduces same `failureClass` and `primaryFile` for >=95% captured packets.
### Feature Request F: Minimal Context Assembler for Fixing
**Tool name:** `whetstone_assemble_fix_context`
**Problem:**
Small models degrade when given broad context.
**Requirements:**
- Input: failure packet/cluster.
- Output: minimal file slices needed to fix:
- failing file span
- relevant headers
- nearest tests
- related schema/tool contract
- Token budget modes: `tiny` , `small` , `medium` .
**Acceptance criteria:**
- Produces <=2k token context in `tiny` mode while preserving fix success on benchmark fixtures.
### Feature Request G: Regression Guard Tool
**Tool name:** `whetstone_regression_guard`
**Problem:**
A fix may pass one test but silently break prior working behavior.
**Requirements:**
- Given touched files + step ID, compute deterministic smoke set:
- failing target
- neighboring step tests
- MCP tool registration checks
- Emit `mustPass` , `optional` , and `deferred` buckets.
**Acceptance criteria:**
- Any patch merged by autonomous loop includes a guard report with pass/fail matrix.
### Feature Request H: Debugging Metrics for SLM Readiness
**Metric packet fields:**
- `timeToFirstGreen`
- `iterationsToGreen`
- `tokenCostPerFix`
- `symptomToRootCauseCompression`
- `patchAcceptanceRate`
- `regressionEscapeRate`
**Requirement:**
- Metrics available per run and aggregated by failure class.
- Used to decide when to switch work from large model -> SLM.
### Proposed rollout
1. Phase 1: Failure packet + clustering (`A` , `B` )
2. Phase 2: Patch proposal + fix context (`C` , `F` )
3. Phase 3: Loop orchestrator + regression guard (`D` , `G` )
4. Phase 4: Replay archive + readiness metrics (`E` , `H` )
### Done definition for “SLM-ready debugging”
- A small model can take a single failing test target and autonomously produce a patch that passes:
- target test,
- deterministic regression guard set,
- MCP tool schema checks,
- with full repro packet trace and no manual intervention.