Context
The Golden Path synthesis in DreamService.synthesizeGoldenPath() ranks OPEN issues by a hybrid priority score:
priority = (1/(semantic_distance + 0.1) × SEMANTIC_WEIGHT) + (structural_edge_weight × STRUCTURAL_WEIGHT)
This is purely reactive — the frontier embedding is computed from the 2 most recent session summaries, so the swarm follows its own inertia. The only mechanism for intentional steering is mutate_frontier, which adjusts edge weights but cannot express strategic vetoes or forced inclusions.
Problem
Three directional control patterns are currently impossible:
- No-Fly Zones: "Don't touch Grid multi-body until the selection model is stabilized" — there's no way to exclude an entire component area from Golden Path candidacy without manually closing all related tickets.
- Priority Overrides: "The Client.com migration is the #1 business priority regardless of graph topology" — strategic business priorities can't override mathematical rankings.
- Explore Zones: "Stress-test the Canvas Worker integration even though no tickets exist" — the Golden Path is purely convergent (optimizes toward existing high-score nodes). There's no mechanism for intentional divergent exploration.
A2A Context (Fat Ticket)
Proposed Design
New node type STRATEGIC_CONSTRAINT with the following schema:
{
id: 'constraint:no-fly-grid-multibody',
type: 'STRATEGIC_CONSTRAINT',
name: 'Grid Multi-Body Stability Hold',
properties: {
constraint_type: 'NO_FLY_ZONE',
target_pattern: 'grid.*multi.*body',
reason: 'Selection model regression risk — hold until #9850 is resolved',
created_by: 'tobiu',
expires_at: '2026-05-01T00:00:00Z',
active: true
}
}Integration Points
synthesizeGoldenPath() — After the hybrid SQL query returns scoredNodes, apply constraint filtering:
NO_FLY_ZONE: Remove matching nodes from candidacy entirely
PRIORITY_OVERRIDE: Inject matching nodes at the top with maximum score
EXPLORE_ZONE: Query the graph for nodes matching the pattern even if they're not OPEN issues, and add them as exploration candidates
mutate_frontier MCP tool — Extend to accept constraint_type as an optional parameter. When provided, creates a STRATEGIC_CONSTRAINT node instead of adjusting edge weights.
sandman_handoff.md — Add an "Active Strategic Constraints" section listing all non-expired constraints so agents understand the boundaries.
Avoided Pitfalls
- Constraints must have optional TTL (
expires_at) to prevent permanent strategic drift. The runGarbageCollection() method should prune expired constraints.
NO_FLY_ZONE must not delete or modify the underlying nodes — it only filters them from Golden Path candidacy. The data remains for future analysis.
PRIORITY_OVERRIDE should be used sparingly — it bypasses the mathematical ranking entirely.
Verification Plan
- Unit test: Create a
STRATEGIC_CONSTRAINT node with NO_FLY_ZONE, run synthesizeGoldenPath(), assert the matching nodes are excluded from the top-3 output.
- Unit test: Create a
PRIORITY_OVERRIDE constraint, assert the target node appears at position 1 regardless of its mathematical score.
- Integration: Verify constraints surface in
sandman_handoff.md under a dedicated section.
Context
The Golden Path synthesis in
DreamService.synthesizeGoldenPath()ranks OPEN issues by a hybrid priority score:This is purely reactive — the frontier embedding is computed from the 2 most recent session summaries, so the swarm follows its own inertia. The only mechanism for intentional steering is
mutate_frontier, which adjusts edge weights but cannot express strategic vetoes or forced inclusions.Problem
Three directional control patterns are currently impossible:
A2A Context (Fat Ticket)
Proposed Design
New node type
STRATEGIC_CONSTRAINTwith the following schema:{ id: 'constraint:no-fly-grid-multibody', type: 'STRATEGIC_CONSTRAINT', name: 'Grid Multi-Body Stability Hold', properties: { constraint_type: 'NO_FLY_ZONE', // or 'PRIORITY_OVERRIDE' or 'EXPLORE_ZONE' target_pattern: 'grid.*multi.*body', // regex matched against node IDs/names reason: 'Selection model regression risk — hold until #9850 is resolved', created_by: 'tobiu', expires_at: '2026-05-01T00:00:00Z', // optional TTL active: true } }Integration Points
synthesizeGoldenPath()— After the hybrid SQL query returnsscoredNodes, apply constraint filtering:NO_FLY_ZONE: Remove matching nodes from candidacy entirelyPRIORITY_OVERRIDE: Inject matching nodes at the top with maximum scoreEXPLORE_ZONE: Query the graph for nodes matching the pattern even if they're not OPEN issues, and add them as exploration candidatesmutate_frontierMCP tool — Extend to acceptconstraint_typeas an optional parameter. When provided, creates aSTRATEGIC_CONSTRAINTnode instead of adjusting edge weights.sandman_handoff.md— Add an "Active Strategic Constraints" section listing all non-expired constraints so agents understand the boundaries.Avoided Pitfalls
expires_at) to prevent permanent strategic drift. TherunGarbageCollection()method should prune expired constraints.NO_FLY_ZONEmust not delete or modify the underlying nodes — it only filters them from Golden Path candidacy. The data remains for future analysis.PRIORITY_OVERRIDEshould be used sparingly — it bypasses the mathematical ranking entirely.Verification Plan
STRATEGIC_CONSTRAINTnode withNO_FLY_ZONE, runsynthesizeGoldenPath(), assert the matching nodes are excluded from the top-3 output.PRIORITY_OVERRIDEconstraint, assert the target node appears at position 1 regardless of its mathematical score.sandman_handoff.mdunder a dedicated section.