Straitjacket: A TypeScript template with Guardrails for your agents
Comments on “Straitjacket: A TypeScript template with Guardrails for your agents”
Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked
Straitjacket is a BSD-licensed TypeScript template on GitHub that bundles lint, test and supply-chain rules meant to stop coding agents from faking progress. It bans lint-disable comments, runs Stryker mutation testing on pre-push, uses drift guards to check quoted numbers against configs, and refuses packages under 30 days old. There is no CI, and --no-verify bypasses both git hooks, so enforcement depends on local discipline. The claims here come from the project's own README, without independent verification.
Why it ranked
No. 15 of 51 with a score of 0.60. The panel rated it highest on new information (0.91) and technical depth (0.85), lowest on significance (0.41). Placed No. 15, No. 27 by score alone: the placement terms moved other stories past it.
- AI judgeJudge 2claude-haiku-5-5
- A detailed, reproducible TypeScript template with supply-chain and agent guardrails; practically useful to builders, though it's a template release with a self-reported, unevaluated design rather than primary evidence.
- AI judgeJudge 3gpt-5.6-luna
- A detailed, actionable template for constraining coding agents, with concrete tooling, hooks, dependency and test safeguards. It is technically deep and useful, though its broader significance is limited and claims are largely presented by the project author.
Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.
Score
0.60total under rubric v2.3
- Significance0.41
- Reader interest0.72
- Audience breadth0.54
- Practical relevance0.81
- Substantiated0.62
- Technical depth0.85
- New information0.91
- Counts against: Promotional0.14
- Counts against: Overclaim0.26
Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).
| Question | Judge 1 | Judge 2 | Judge 3 | Mean | Spread | Weight | Contribution (weight times mean) |
|---|---|---|---|---|---|---|---|
| SignificanceHow much does this change what people in tech know or can do? | 0.52 | 0.30 | 0.42 | 0.41 | 0.22 | +0.24 | +0.099 |
| Reader interestWould a well-informed senior engineer or tech founder want to read this today, and likely pass it on? | 0.77 | 0.62 | 0.78 | 0.72 | 0.16 | +0.26 | +0.188 |
| Audience breadthHow many people who build technology does it concern? | 0.58 | 0.50 | 0.55 | 0.54 | 0.08 | +0.13 | +0.071 |
| Practical relevanceHow useful is it to someone who builds software or tech products? | 0.91 | 0.70 | 0.82 | 0.81 | 0.20 | +0.22 | +0.178 |
| SubstantiatedHow well is it backed? Consider whether it is the primary source, and whether its main claims come with data, code, a demo, a reproducible method or citations. | 0.70 | 0.45 | 0.72 | 0.62 | 0.27 | +0.05 | +0.031 |
| Technical depthHow technically substantive is it? | 1.00 | 0.70 | 0.86 | 0.85 | 0.30 | +0.05 | +0.043 |
| New informationDoes it contain information absent from the stories covered in the last 7 days (list provided)? | 0.88 | 0.90 | 0.94 | 0.91 | 0.06 | +0.05 | +0.045 |
| PromotionalIs it mainly marketing with little substance (a press release, ad or sponsored post with no real information)? A launch post that carries real news is not promotional. | 0.06 | 0.25 | 0.12 | 0.14 | 0.19 | −0.19 | −0.027 |
| OverclaimDo the headline or conclusions claim more than the body supports? | 0.20 | 0.35 | 0.22 | 0.26 | 0.15 | −0.11 | −0.028 |
| Sum of contributions | +0.599 | ||||||
| Claim-check penalty | 0.000 | ||||||
| Total, as published | 0.599 | ||||||
Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.
The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.
<a href="https://rubric.hrih.si/editions/2026-11-08/15/"><img src="https://rubric.hrih.si/badge/2026-11-08/15.svg" alt="Ranked #15 on Rubric, 8 Nov 2026" width="238" height="28"></a>Claim check
Claim check: 7 no source given · 1 couldn’t check. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.
No source givenNumber
Straitjacket's pre-push hook runs a secret scan, aube audit, osv-scanner, build and mutation tests.
The article gives no link or citation for it.
The article says “pre-push secret scan, aube audit, osv-scanner, build, mutation tests”
The source says No source to compare with.
No source givenVersion
TypeScript 7 has no programmatic API until version 7.1, so dependency-cruiser gets a private TypeScript 6 through packageExtensions.
The article gives no link or citation for it.
The article says “It has no programmatic API until 7.1, so dependency-cruiser gets a private TypeScript 6 through packageExtensions in aube-workspace.yaml”
The source says No source to compare with.
No source givenNumber
The template sets function and file size caps of 120 lines per function, 500 per file, complexity 10, depth 3, 5 params and 70 statements.
The article gives no link or citation for it.
The article says “120 lines per function, 500 per file, complexity 10, depth 3, 5 params, 70 statements”
The source says No source to compare with.
No source givenNumber
The template refuses packages released in the last 30 days via a minimumReleaseAge gate.
The article gives no link or citation for it.
The article says “Nothing published in the last 30 days”
The source says No source to compare with.
No source givenNumber
New dependencies need at least 2,000 GitHub stars, or eslint-community maintenance, or first-party status under a qualifying project.
The article gives no link or citation for it.
The article says “New dependencies need ≥2,000 GitHub stars, or eslint-community maintenance, or first-party status under a project that clears the bar on its own”
The source says No source to compare with.
Couldn’t checkVersion
The repository is licensed under the BSD 2-Clause license.
The source was unreachable, paywalled or too long, or the two checkers disagreed.
The article says “BSD 2-Clause. See LICENSE”
The source says No passage could be compared.
Source cited by the article: github.com/balajeerc/straitjacket/blob/main/LICENSE
No source givenCausal conclusion
Without the private TypeScript 6, dependency-cruiser checks 0 modules and passes.
The article gives no link or citation for it.
The article says “Without it, the cruise checks 0 modules and passes”
The source says No source to compare with.
No source givenCausal conclusion
aube audit --fix=update was seen resolving a release younger than the age gate.
The article gives no link or citation for it.
The article says “Do not use aube audit --fix=update: it was seen resolving a release younger than the age gate”
The source says No source to compare with.
Also covered by
No other coverage was clustered with this story.
Elsewhere
Elsewhere: HN 1 pts, not on front page
Recorded for context only, checked 8 Nov 2026, 05:46 UTC. It played no part in the ranking.