RFC: Fullsend Deployment on zero-dot-force and Improving Unbound Force #1
sonupreetam
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
RFC: Fullsend Deployment on zero-dot-force and Improving Unbound Force
0. Context
What is zero-dot-force?
zero-dot-force is the labs incubator for Unbound Force -- the superhero-themed AI agent swarm for software engineering. zero-dot-force is where experimental and early-stage projects incubate before graduating to the main unbound-force org.
What is snake-eyes?
snake-eyes detects observable side effects in Python functions and reports them to Gaze's universal scoring engine via JSON-RPC 2.0. It implements Gaze's external analyzer protocol with six methods:
initialize,discover,analyze,complexity,coverage,shutdown.ast,symtable, andastroid.opencode/,.specify/,.uf/,openspec/directories presentWhat is Unbound Force?
Unbound Force is an AI agent swarm where superhero personas (Gaze, Muti-Mind, Cobalt-Crush, The Divisor, Mx F) collaborate as a software development team. It has a constitution, specification pipelines (Speckit/OpenSpec), a 9-persona review council, convention packs, and a knowledge layer (Dewey). It is strong on agent design and governance but has gaps in execution infrastructure (no sandbox isolation, no secretless credential management, no autonomous event-driven dispatch).
What is Fullsend?
Fullsend is an autonomous agentic software development platform with six agents (triage, code, review, fix, retro, prioritize) that run the full SDLC autonomously via GitHub Actions. It is strong on production infrastructure (OpenShell sandbox, OIDC/WIF secretless auth, token mint, per-role GitHub Apps, container signing) but does not have UF's governance depth (constitution, spec pipelines, review council, convention packs).
1. Summary
This document proposes two things:
Deploy fullsend agents directly on zero-dot-force (starting with snake-eyes) to gain autonomous issue triage, code generation, review, fix, retro, and prioritization.
Use zero-dot-force as a playground to experiment with ideas from fullsend, unbound-force, and other projects in the GitHub ecosystem -- then port validated improvements back to unbound-force to enhance what UF already has.
zero-dot-force is the right place for this because it is the labs incubator. Breaking things here is acceptable. Breaking things in unbound-force is not. Experiments that prove their value on snake-eyes and future zero-dot-force repos graduate to UF proper.
2. Why Both? The Gap Analysis
Neither fullsend nor unbound-force is complete alone. Each excels where the other has gaps:
/review-council,/speckit.implement)forge.ClientThe thesis: deploy fullsend for the infrastructure UF lacks, then use zero-dot-force to experiment with bringing UF's governance strengths into fullsend's execution model -- and port the results back to UF.
3. Integration Checklist
Phase 0: Prerequisites
iam.googleapis.com,cloudresourcemanager.googleapis.com,aiplatform.googleapis.comroles/iam.workloadIdentityPoolAdmin,roles/resourcemanager.projectIamAdminto the deploying usergcloud(authenticated),fullsend(latest release),gh(authenticated)zero-dot-force/snake-eyesalready exists with README, LICENSE, AGENTS.md, and UF tooling scaffoldedPhase 1: Token Mint Enrollment
fullsend mint deploy --project <project>(full control, regulated environments)fullsend mint statusPhase 2: WIF (Workload Identity Federation) Setup
fullsend inference provision zero-dot-force/snake-eyes --project <gcp-project>projects/<num>/locations/global/workloadIdentityPools/fullsend-inference/providers/gh-zero-dot-force-snake-eyesfullsend inference statusPhase 3: GitHub App Installation
zero-dot-forceorg (specificallysnake-eyes)Phase 4: Repository Configuration
.fullsend/directory created with harness definitions, policies, workflows (note:.opencode/,.specify/,.uf/already exist from UF scaffolding -- these coexist)pull_request_targetFULLSEND_GCP_PROJECT_ID,FULLSEND_GCP_WIF_PROVIDERsetFULLSEND_MINT_URL,FULLSEND_GCP_REGION,FULLSEND_PER_REPO_INSTALLsetPhase 5: Security Hardening (MANDATORY)
.fullsend/to CODEOWNERS requiring maintainer reviewmain.fullsend/--agents triage,reviewfor conservative rollout/fs-triageon a sample issuePhase 6: Graduated Rollout
Phase 7: Customization
.fullsend/config overlay4. Security Impact Analysis
4.1 Threat Surface Changes
Integrating fullsend introduces these new attack surfaces:
CAP_NET_ADMIN. Pre-baked images (no runtime installs). Sigstore cosign verification.4.2 Security Invariants (Non-Negotiable)
These invariants MUST hold at all times:
4.3 What We Give Up
CAP_NET_ADMIN; may conflict with restrictive PodSecurityPolicies4.4 Required Security Controls
Before going live, these MUST be in place:
5. Cost Estimation
Cost controls:
--agents triage,review(cheapest agents, read-heavy)6. Inspiration from Unbound-Force Agent Architecture
Unbound-force's agent swarm offers design patterns worth integrating into our fullsend deployment through customization:
6.1 Constitution-Governed Agents
UF Pattern: A constitution with 5 principles governs all agent behavior. Constitution violations are CRITICAL severity and non-negotiable.
Fullsend Adaptation:
CONSTITUTION.mdin the repo root6.2 Multi-Persona Review Council
UF Pattern: The Divisor runs 9 specialized personas in parallel, each reviewing from a different angle (Guard, Architect, Adversary, SRE, Testing, Curator, Scribe, Herald, Envoy).
Fullsend Adaptation:
[MUST],[SHOULD],[MAY](UF convention)6.3 Convention Packs
UF Pattern: Dual-ownership convention packs (tool-owned + user-owned) that agents read before writing or reviewing code.
Fullsend Adaptation:
.fullsend/conventions/directory with:6.4 Specification-Driven Workflow
UF Pattern: Speckit (strategic, 9 phases) and OpenSpec (tactical, 4 phases) pipelines ensure changes are specified before implementation. Phase discipline is a hard rule.
Fullsend Adaptation:
feature-request.md-- requires problem statement, acceptance criteria, scope estimatebug-report.md-- requires reproduction steps, expected behavior, actual behaviorready-to-codelabeled issues6.5 Gaze-Inspired Quality Gates
UF Pattern: Gaze enforces coverage ratchets (coverage can only go up), CRAP score analysis, and side-effect classification.
Fullsend Adaptation:
6.6 Artifact-Based Communication
UF Pattern: Heroes communicate through well-known artifact paths (
.uf/artifacts/), not runtime coupling.Fullsend Adaptation:
6.7 Workflow Lifecycle Management
UF Pattern: 6-stage feature lifecycle managed by
/workflowcommands.Fullsend Adaptation:
7. zero-dot-force as Playground: Experiment, Validate, Port to UF
This is the core strategic idea. zero-dot-force is not just a place to deploy fullsend -- it is the proving ground where ideas from fullsend, UF, and the broader ecosystem are tested before they touch unbound-force proper.
7.1 The Flow: Playground to Production
7.2 What to Experiment With on zero-dot-force
Each experiment is an idea from fullsend or elsewhere that could enhance UF. Run it on snake-eyes (and future zero-dot-force repos) first. If it works, write a spec and port it.
Experiment 1: Credential Isolation (from fullsend ADR 0017)
Problem in UF today: No credential isolation. Agents run with whatever PAT the user has. A compromised agent prompt could exfiltrate tokens.
Experiment: Deploy fullsend's secretless model on snake-eyes. Observe:
Port to UF if validated: Design a credential isolation layer for UF heroes. Could be lighter than fullsend's 4-tier model -- maybe a 2-tier model (prefetch + host-side REST) is enough for UF's slash-command-triggered model.
Experiment 2: Sandbox Isolation (from fullsend ADR 0020, 0036)
Problem in UF today: No execution sandbox. Agents have full filesystem and network access. A prompt injection could
curlarbitrary endpoints or read~/.ssh/.Experiment: Run fullsend's OpenShell sandbox on snake-eyes. Observe:
pip installduring development?Port to UF if validated: Add sandbox support to
uf initscaffolding. Could use OpenShell directly or a lighter alternative. The Divisor council especially benefits -- 9 parallel personas each in their own sandbox.Experiment 3: Autonomous Event-Driven Dispatch (from fullsend ADR 0041, 0061)
Problem in UF today: All agents are slash-command triggered. Nothing happens unless a human types
/review-councilor/speckit.implement. Issues sit untriaged. PRs sit unreviewed.Experiment: Let fullsend's triage and review agents run autonomously on snake-eyes events. Observe:
/review-council?Port to UF if validated: Add event-driven dispatch to UF. Not replacing slash commands, but layering autonomous triggers underneath. For example: auto-triage on issue open, auto-review-first-pass on PR open, but still require
/review-councilfor the deep multi-persona pass.Experiment 4: Gaze as a Fullsend Quality Gate
Problem: Fullsend's review agent checks coverage deltas but doesn't understand CRAP scores, side-effect classification, or test quality at UF's Gaze depth.
Experiment: Create a fullsend skill that runs
gaze analyze --analyzer snake-eyesduring review. This creates a feedback loop: snake-eyes (the project) analyzed by Gaze (the tool) powered by snake-eyes (the analyzer).Port to UF if validated: Gaze becomes a first-class quality gate in any CI pipeline, not just UF agent workflows.
Experiment 5: Convention Pack Sharing Between Agent Systems
Problem: UF has convention packs (dual-ownership, severity-tagged). Fullsend has skills (ad hoc markdown files). If both run on the same repo, conventions fragment.
Experiment: Create a shared
conventions/directory on snake-eyes. Wire it to both.opencode/agents (as convention packs) and.fullsend/agents (as skills). Test whether a single source of truth for coding standards works across both systems.Port to UF if validated: Standardize convention pack format so it works with any agent framework, not just UF's.
Experiment 6: Fullsend's Retro Agent Enhancing Mx F
Problem: Mx F does retrospectives manually via coaching sessions. Fullsend's retro agent runs automatically after every merge and files improvement issues.
Experiment: Let both run on snake-eyes. Compare the quality and actionability of fullsend's automated retro findings vs Mx F's coaching-driven insights.
Port to UF if validated: Give Mx F an automated retro capability -- running post-merge analysis automatically, then presenting findings during the next coaching session instead of discovering them manually.
Experiment 7: Multi-Persona Review as Fullsend Skills
Problem: Fullsend's review agent is a single pass. UF's Divisor is 9 specialized personas. Can fullsend achieve Divisor-level review depth?
Experiment: Create fullsend skills that emulate Divisor personas:
Port to UF if validated: Either adopt fullsend's review agent with UF persona skills, or enhance The Divisor with fullsend-style autonomous triggering.
Experiment 8: Living Design Documents (from complytime/fullsend)
Problem: UF has specs in
specs/andopenspec/but no living design document approach for cross-cutting architectural exploration.Experiment: Adopt the fullsend/complytime living design document approach on zero-dot-force: vision docs, problem docs, ADRs, plans. (complytime already adopted this from fullsend.)
Port to UF if validated: Restructure
unbound-force/unbound-forcedocs alongside the existing spec framework.7.3 What NOT to Experiment With
Some things should stay as they are:
7.4 Coexistence on snake-eyes
Both systems run side by side. No filesystem conflicts (
.fullsend/alongside.opencode/,.specify/,.uf/,openspec/). No trigger conflicts:/review-council/speckit.*/opsx-*/gaze-*/unleash8. Open Questions
triage,reviewfor 2-4 weeks, then expand.9. Decision Requested
Immediate (Deploy Fullsend)
Strategic (Playground for UF Improvement)
10. References
All reactions