[Phase 2] Tailnet Federation BLOCKED - Key Management Infrastructure Required #56
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Status: BLOCKED
Phase 2 (Federation) requires Tailnet for mesh node communication, but this is currently blocked.
Blocker
Tailnet key management infrastructure not available.
The roadmap lists these Phase 2.1+ tasks:
All require Tailnet networking between nodes, which requires:
This infrastructure is not currently in place.
Alternative: Work on Phase 3 Instead
Given the Tailnet blocker, propose shifting focus to Phase 3: Scale items that don't require federation:
Available Work (Phase 3)
From the roadmap, Phase 3 focuses on:
Concrete Next Steps
Auto-scaler implementation (
runtime/auto_scaler.pyexists)GPU capability class
Trust tier enforcement
k3s CRD design
Decision Needed
Options:
Recommend Option 1 (Phase 3 items) since:
@mention to confirm direction.
Update: Implementation Progress
Based on recent work, here's the updated status:
Docker Federation (Phase 2.2) - ✅ COMPLETED
Successfully implemented Docker-based federation with ledger sync:
stream:ledger.sync)Key fixes:
mesh_node.pyto pass sync to MeshLedger constructor_catch_up_historical()to use XRANGE for reading historical messages">"only deliver new messages; new nodes need XRANGEEphemeral Worker Provisioning (Phase 2.4) - ✅ IMPLEMENTED
Created complete task ingress and orchestration system:
New Components:
substrate/task_store.py- Task state management (Redis + SQLite)capabilities/_muscle/ingress_controller/- LLM-based task decompositiondocker/ephemeral_worker.py- Execution-only worker containerdocker/Dockerfile.worker- Container image for workersArchitecture:
API Endpoints:
POST /task- Submit unstructured taskGET /task/{id}- Check task statusKey Features:
Removed Unapproved Components
runtime/auto_scaler.py(not approved)config/cloud_workers.yamlRecommendation
With Phase 2.2 and 2.4 complete, and Phase 2.3 still blocked on Tailnet, the roadmap now shows:
Ready to proceed with Phase 3 items (GPU capability, trust tiers, k3s CRD) which don't require federation.
All 492 unit tests passing.
Feature Triage Assessment
Scope: small
Risk: low
Spec Alignment: misaligned
Summary: Proposes deprioritizing Phase 2 federation work (blocked by missing Tailnet key mgmt) in favor of Phase 3 items (auto-scaler, GPU routing, trust tiers, k3s CRDs).
Recommendation: Reject as is, close with factual corrections. The 'Phase 3' items proposed (GPU routing, trust tiers) already exist in the codebase with tests. Phase 2 actually has significant code already (mesh_federation.py: 556 lines, cross_mesh_forwarding.py: 197 lines, federation_cache.py, demo scripts) — the blocker is authentic but doesn't mean 'no code exists'. If the user wants to proceed, restrict to: (1) creating runtime/auto_scaler.py from scratch, (2) writing k3s CRD design docs. Direct the author to inspect existing trust_tiers.py and gpu_manager.py before filing.
Rationale: The issue contains three factual errors that undermine its premise: (a) claims runtime/auto_scaler.py exists — it doesn't, no such file; (b) proposes 'GPU capability class' and 'trust tier enforcement' as new work — both already exist with full implementations and test suites (gpu_manager.py: 331 lines + 321 tests, trust_tiers.py: 231 lines + 341 tests); (c) implies Phase 2 has no code — actually MeshFederation is 556 lines with heartbeat, routing tables, cross-mesh ACK processing, and node registration. No roadmap document exists to validate the Phase 2/3 distinction. The Tailnet blocker is a real operational problem, but the suggestion incorrectly characterizes existing work as undone.
Labeled
blocked:needs-decision— unblock on Forgejo to dispatch to the fixer pipeline.⏸ Needs Decision
What needs to be decided?
blocked:needs-decisionlabel to route back to triage.Blocking factors:
Scope: small Risk: low Spec: partial Type: chore
Summary: Reports Phase 2 Federation blocked by missing Tailnet key management infrastructure and proposes pivoting to Phase 3 scale items.
Suggestion: Accept blocker status but the Phase 3 pivot needs correction:
runtime/auto_scaler.pywas already removed as unapproved, and trust tiers + GPU capability are already complete per ROADMAP.md. Better to focus on outstanding AGENTS.md integration items (#98, #102, #110, #123, #121) or Phase 2.4 finalization (Docker integration test, container spawning verification) which don't require Tailnet.Rationale: Scope=small because it's a triage/blocker report with no implementation code. Risk=low because it proposes a pivot, not a change. Spec=partial because Phase 3 is marked PAUSED pending Phase 2.4 in the roadmap, and the auto-scaler suggestion contradicts the earlier removal of that module (docs/reference/DEPLOYMENT_RUNBOOK.md: 'auto_scaler.py was removed as an unapproved approach'). The blocker report itself is accurate — tailnet key management isn't in place — but the concrete next-steps list reflects stale project state.
To unblock: Remove the
blocked:needs-decisionlabel. The triage will apply the appropriate outcome based on your choice above.Blocked on Tailnet key management — removing blocked:needs-decision. Skipping to Phase 3 per proposal.
Closing — planning issue, not a Forgejo work item per bblhd 2026-09-15 triage sweep.
Migrated to Vikunja milestone task:
http://vikunja.tail018ac4.ts.net:3456/api/v1/tasks/193
Project: mesh-seed (#8)
Task #193 — "[Phase 3 redirect] Auto-scaler, GPU routing, trust tiers, k3s design (was #56)"
Decompose into Vikunja subtasks before crossing back into Forgejo or kanban.