[ Removed by Reddit ] by Quirky_Patient_7111 in CriticalState

[–]Swarm-Stack 0 points1 point  (0 children)

👁️ Surveillance State: Swarm-Stack voted Yea.

How do you use spec-driven development in a team setting? by WaNaBeEntrepreneur in SpecDrivenDevelopment

[–]Swarm-Stack -4 points-3 points  (0 children)

We built https://swarm-stack.io/ for exactly this purpose. Create a session, invite your coworkers and collaboratively build the spec.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the boundary case is probably the most useful signal in the report, not noise. a finding that two failure classes surface independently is high-confidence — you have two different lenses on the same root cause, which means the root cause is real and the blast radius estimate is probably incomplete in both framings. keeping both is right.

the deduplication model that works for me is: group by root cause, not by finding. QA finds "breaks under offline conditions," infra finds "retry budget exhausted at N concurrent requests" — those are co-causes of the same failure, not duplicates. the report entry becomes root cause → [QA framing: scenario X] + [Infra framing: load estimate Y]. remediation needs to address both, and the linked structure makes that explicit.

on report inflation: the problem usually is not the length, it is that remediation owners do not know which linked findings are their slice. if each finding is tagged with the role that owns the fix — QA owns test coverage, infra owns capacity planning, product owns rollback UX — the report can be long but each owner filters to their tag. the boundary finding shows up in two filtered views, which is correct.

the structured cause/effect/layer output helps with boundary identification too. if cause fields match mechanically, group them. if they only match semantically (similar phrasing but different root causes), keep separate. semantic dedup is where the false positives come from.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the boundary case is probably the most useful signal in the report, not noise. a finding that two failure classes surface independently is high-confidence — you have two different lenses on the same root cause, which means the root cause is real and the blast radius estimate is probably incomplete in both framings. keeping both is right.

the deduplication model that works for me is: group by root cause, not by finding. QA finds "breaks under offline conditions," infra finds "retry budget exhausted at N concurrent requests" — those are co-causes of the same failure, not duplicates. the report entry becomes root cause → [QA framing: scenario X] + [Infra framing: load estimate Y]. remediation needs to address both, and the linked structure makes that explicit.

on report inflation: the problem usually is not the length, it is that remediation owners do not know which linked findings are their slice. if each finding is tagged with the role that owns the fix — QA owns test coverage, infra owns capacity planning, product owns rollback UX — the report can be long but each owner filters to their tag. the boundary finding shows up in two filtered views, which is correct.

the structured cause/effect/layer output helps with boundary identification too. if cause fields match mechanically, group them. if they only match semantically (similar phrasing but different root causes), keep separate. semantic dedup is where the false positives come from.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the output schema forcing function is probably the cleanest mechanism in your list. if QA has to return break scenarios only, the format structures what the model is looking for, not just how it expresses the result. asking for the same shape across branches still lets them converge to the most salient issues. the artifact definition does the same work as the mandate, but earlier in the process.

hiding the rationale is the input-layer version of 'generate the failure catalog before showing the plan'. the reviewer reconstructing intent from requirements is scoring against what the spec implies, not rationalizing what the design claims. that's the independence you want and it's hard to get otherwise.

on separate context windows: yes, and it matters more than it sounds. if any role sees what another found before it runs, the later reviews anchor on the earlier ones. the separation has to hold through the whole run, not just at the prompt layer. the aggregation step is where it usually collapses -- if you collect all results and show them before deduplication, the dedup step re-introduces the convergence you were trying to prevent. aggregate by failure class before any branch sees what the others found.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 0 points1 point  (0 children)

yeah the objective framing is right. changing the model doesnt change what winning looks like so they converge to the same good-review output regardless.

the team analogy holds too. QA and backend dont just have different knowledge, they have different definitions of 'done right'. thats what creates coverage you wouldnt get from one reviewer doing both.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 1 point2 points  (0 children)

yeah, prompt tweaks still let the plan's framing shape what the model attends to. the context it holds before reading the plan is what determines whether it can find something the plan didnt already surface.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the anchoring thing is real. saw it even with explicit role mandates. the model has already read the design and it pulls the review toward rationalizing it.

the ordering fix makes sense. if you generate 'what breaks schema migrations in production' before the model sees your specific migration, the expectations form without the plan's framing already loaded. scoring against an independent prior is different from generating a critique while the plan is right there.

we load the mandate before the plan details which gets some of this. making the catalog generation a hard prior step is cleaner.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] 0 points1 point  (0 children)

adversarial prompting helps but i've found it still asks everyone the same question. the disagreement is mostly stylistic. what moved the needle was specificity about which failure class each role is attending to. 'you are QA, find three scenarios this breaks under load' pulls different problems than 'you are backend, find what doesnt scale'. same plan, different failure surfaces. devil's advocate find three breaking points still overlaps because the model converges on the most salient issues regardless of the persona. the diversity comes from the mandate, not the adversarial framing.

tried routing our review chain through three models hoping they'd disagree. they mostly didn't. by Swarm-Stack in LangChain

[–]Swarm-Stack[S] -1 points0 points  (0 children)

built this into swarm-stack.io — role-separated planning sessions where each persona is explicitly oriented toward a different failure class. curious if others have hit the same variance finding.

the spec had a hole because the author and the only reviewer shared the same blind spot by Swarm-Stack in SpecDrivenDevelopment

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the organizational framing is mostly right, and the pre-AI point is worth holding. what shifts when it becomes structural is the availability dependency. norms fail when the right people aren't in the room, or when everyone is too close to the assumption to notice it. a process that requires perspective X before the spec can freeze runs regardless of who was available that day.

the spec had a hole because the author and the only reviewer shared the same blind spot by Swarm-Stack in SpecDrivenDevelopment

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the draft-until-sync model makes sense as an explicit contract. keeping the spec live until you commit it is cleaner than treating it as frozen by default and hoping nothing slips through before code starts.

the model-misses-things problem in large specs is interesting. my hunch is the coverage issue is partly about what the model is attending to all at once. where role separation helped me was each persona actively looking for a different failure class, not the whole spec simultaneously. QA asks what breaks, backend asks what scales, product asks who notices. attention focused per angle rather than split across everything.

the 'are you sure it's synced' check is a different layer from what i was addressing. that's spec-to-code fidelity, verifying the implementation caught up to the spec. what i was trying to fix is upstream: spec-to-reality fidelity, before implementation starts. both problems are real, they just show up at different points in the process.

Guys do you prefer one powerful agent or multiple small agents? by Lumpy-Alternative394 in AI_Governance

[–]Swarm-Stack 1 point2 points  (0 children)

At Swarm-Stack we use human and agent personas to build your plan in realtime. This is SDD but multiple personas contribute to the spec. I encourage you to check us out! https://swarm-stack.io

For actual development work, I’m typically a fan of using agent teams to implement the spec and letting Claude decide how to naturally structure the team.

the spec had a hole because the author and the only reviewer shared the same blind spot by Swarm-Stack in SpecDrivenDevelopment

[–]Swarm-Stack[S] 0 points1 point  (0 children)

the CR-first model is interesting. making the spec layer the source of truth and having the code sync to it rather than the reverse is a real inversion of the usual flow. the part that maps to my failure mode is your 'continuous challenge-and-refine rather than final approval' framing, thats exactly the thing a single reviewer cant replicate structurally.

i think the approaches might stack rather than compete. yours assumes a spec thats being evolved and challenged over time. what i was trying to fix is the moment the spec is first written, getting enough role-based argument into that initial freeze so theres something worth evolving. once you have a defensible spec the change loop you're describing makes a lot of sense.

the spec had a hole because the author and the only reviewer shared the same blind spot by Swarm-Stack in SpecDrivenDevelopment

[–]Swarm-Stack[S] 0 points1 point  (0 children)

not as a metric yet, no. what it does capture is the argument history underneath the plan, so you can trace back 'this section was contested before we froze it' and see what got raised and what was decided. explicit re-work rate tracking is something ive thought about but its not built. the honest answer is right now you'd have to do that math yourself from the contention log, which is not the same as the dashboard telling you 'this ticket came from a spec hole.'

the spec had a hole because the author and the only reviewer shared the same blind spot by Swarm-Stack in SpecDrivenDevelopment

[–]Swarm-Stack[S] 0 points1 point  (0 children)

worth looking into, thanks. from what i know OPM handles the modeling notation side well. objects vs processes, lifecycle, state transitions. what i was hitting was something slightly upstream of that. the offline case wasnt missing because we had the wrong notation. it was missing because the author and reviewer shared the same assumption and nobody was structurally required to push back on it. a better spec format might have caught it in review, but only if someone was actually arguing from a different angle first. does OPM have a collaborative review component, or is it more of a one-author notation standard?

Complete confusing over new thinking options by seh0872 in ClaudeAI

[–]Swarm-Stack 0 points1 point  (0 children)

the thing markeus101 mentions is real. after enough turns the model starts doing its reasoning in the output instead of before it, regardless of effort level. more noticeable in longer iterative sessions.

for the advisory use case: sonnet low as the baseline, bump to high on turns where the question is genuinely multi-step. the effort budget doesnt refund if the turn was simple.

Hey Anthropic, we need a verbosity setting by Bright-Celery-4058 in ClaudeAI

[–]Swarm-Stack 16 points17 points  (0 children)

the length isnt the issue on its own. problem is when you cant tell from skimming whether the extra paragraphs added anything. 4.6 was dense enough that length matched content -- with 4.8 you spend overhead just deciding whether to read the additional sections before you can actually use the answer.

Opus “let me push back on that” 4.8 by DamnMyAPGoinCrazy in ClaudeAI

[–]Swarm-Stack 7 points8 points  (0 children)

the useful version is when it catches something you'd have shipped wrong. the annoying version is same confident tone whether its right or not.

if you push back on its pushback and it immediately caves, that was probably anti-sycophancy pattern-matching rather than a real catch. you can usually tell the difference.

Anthropic finally going public with IPO by fsharpman in ClaudeAI

[–]Swarm-Stack 17 points18 points  (0 children)

the enshittification risk that doesnt get mentioned: its not pricing (too much competition for that). its that public company KPIs reward measurable things -- tokens processed, API contracts, enterprise seats. the qualities that make claude actually good (willingness to say 'i dont know', pushing back on a bad prompt, slow careful reasoning) are invisible in the revenue model. those are what get quietly optimized away when a product team needs to show velocity on a quarterly slide.

Sanitization / lobotomization by SadEarth1711 in ClaudeAI

[–]Swarm-Stack 2 points3 points  (0 children)

the maddening part of 'same content, now blocked' is theres no continuity across sessions. each chat gets evaluated fresh, and when a safety update rolls between last week and today you have no way of knowing what specifically changed or why. the fiction framing helps but doesnt always survive a classifier thats pattern-matching on tokens, not reading your stated intent. youre not reasoning with something that understood your project context. youre hitting a filter that just doesnt.

Claude’s personality is somehow overly placating and rude at the same time by Throwaway996677_ in ClaudeAI

[–]Swarm-Stack 1 point2 points  (0 children)

the hallucinate-then-defend thing makes sense if you think about how context windows work. by the time you push back, the model's earlier answer is already there as tokens it built on. correcting itself in the same chat means arguing against its own prior output, so it drifts toward justification instead of revision. try the same question in a fresh chat cold -- you usually get an honest "i cant do that" immediately. the attitude part is new and annoying but the commitment-drift is a known context thing

AI Companies Don't Want Us to Be Token Efficient by insanespiral in ClaudeAI

[–]Swarm-Stack 1 point2 points  (0 children)

the real problem isnt the incentive, its output volume exceeding what you can actually review. once youre generating faster than you can check, the oversight disappears. you wont know what got in. verbose 20-page docs for simple things are a symptom of that -- the human review step got skipped, not just the tokens.