Developer Switches from Specs to Proposals for Parallel Claude Code Sessions

The Problem with Specs-First Approach
The developer encountered issues where writing detailed specifications upfront led to AI-generated code that was technically correct but contextually wrong. The spec would say "add rate limiting to auth endpoints" but wouldn't include context about previously rejected approaches (like token buckets) or implementation decisions (like choosing Redis over Cloudflare for staging). This created situations where the AI would make reasonable choices that reopened already-closed decisions.
Updating specs became its own mini-project, and by the time updated specs were reviewed, the codebase had already drifted. The spec captured the "what" but lost the "why"—all the reasoning, rejected alternatives, and timing of decisions were missing.
The Proposal-First Alternative
Instead of writing specs upfront and coding to match them, the developer writes proposals—short documents that capture why a change is happening, what was considered and rejected, and what's in or out of scope. The spec gets updated after the code lands to reflect what was actually built.
Example comparison:
- A spec says: "The system shall support rate limiting."
- A proposal says: "Brute-force attacks detected on prod. Adding rate limiting via sliding window + Redis (Cloudflare not available in staging). Rejected token bucket because of burst traffic issues. Scope: login + password reset only."
The proposal gives the AI (and future developers) the full picture.
Parallel Proposals Workflow
The developer runs multiple Claude Code sessions simultaneously, each working on a different proposal. Sometimes they create competing proposals solving the same problem from different angles.
Typical workflow:
- Working on 2-3 features/bugs/issues at the same time
- Creating 1 or 2 proposals for different approaches per issue
- Spinning up Claude Code sessions for each proposal to run in parallel
- Each session produces a GitHub PR
- GitHub PRs serve as the proposal review platform
- Reviewing approach and code together
- If two proposals tackle the same problem differently, picking the better one and closing the other
- Once approved PRs land, telling Claude to implement the proposals
- Updating the spec to reflect code changes for quick reference in future proposals
The spec becomes a living document that always matches reality instead of an aspirational document that drifts from day one.
PACE Cycle
The developer calls this cycle PACE (to remember the steps):
- Propose: Write a short proposal with context and reasoning
- Approve: Review on GitHub PR, approach (approve, revise, reject)
- Code: AI implements exactly what was proposed, nothing more
- Evolve: Update the spec to reflect the new reality
📖 Read the full source: r/ClaudeAI
👀 See Also

Game developer uses OpenClaw for automated feedback collection and code refactoring
A game developer runs OpenClaw as a background service on a MacBook to manage two projects: Heretical (a Steam game) and Duskland (a TypeScript project). The system uses Claude models via Discord and Telegram, with local Markdown memory files.

Migrated Wix to WordPress using OpenClaw agent — now runs a 3D print shop's daily operations
A small 3D print shop migrated from Wix to WordPress using an OpenClaw agent deployed on a VPS. The agent now adds new products and builds custom order forms for pet badge orders.

Google Account Suspension and Restoration for AI Agent Use
A developer created a new Gmail account for their AI agent, which Google suspended within 20 minutes. After submitting a detailed restoration request explaining the agent's purpose and security measures, Google restored access within 12 hours.

Local Multi-Agent Setup with vLLM, Claude Code, and gpt-oss-120b on Linux
A developer created a 100% local parallel multi-agent setup using vLLM in Docker, Claude Code for orchestration pointing to localhost, and gpt-oss-120b as a coding agent on an RTX Pro 6000 Blackwell MaxQ GPU with dual-boot Ubuntu, achieving 8 agents working concurrently.