Skip to content

DELIVERY: the gates a week of outside contributions found - #7

Merged
arnelirobles merged 2 commits into
mainfrom
delivery-aug17
Aug 17, 2026
Merged

DELIVERY: the gates a week of outside contributions found#7
arnelirobles merged 2 commits into
mainfrom
delivery-aug17

Conversation

@arnelirobles

Copy link
Copy Markdown
Contributor

Seven new sections, plus four rows on the signal table and four items on the setup checklist. Every one cites what it caught, per the rule at the top of the file that a gate with no incident behind it is ceremony.

New gates

Gate What it caught
Read the exit code, not the output a lint run reported clean that was not. Piped through grep into head, so the shell reported head's status and the failure branch never fired
A declared requirement is not an enforced one a library declaring node >=22 running its whole suite on Node 20, green, because npm treats engines as advisory
Sanitise by allowlist, and expect a second door javascript: and data:text/html link destinations rendering live on a static page after raw HTML had been dropped and the job looked finished
Outside contributors test the process, not the code four process defects in one week, none of them code
Links and invites expire a chat invite in five places set to expire four weeks out, with nothing to report it
Publishing is not releasing 67 published versions, four git tags, a releases page showing a version from months earlier as latest

The one I would fix first

barakoCMS's release graph is testpublishdeploy-playground. Packages and public images go out, and only then does anything get deployed and looked at. Phase 6 of this document says the opposite.

The reason it matters is asymmetry rather than thoroughness. A bad deploy is rolled back in a minute. A bad publish is permanent, because registries unlist rather than delete and anyone who already resolved the version keeps it. So the general form, now in the setup checklist: draw the needs: graph and check the irreversible job is last. It is easy to wire these the wrong way round and never notice, because every individual job is correct.

Filed against barakoCMS as BaryoDev/barakoCMS#157.

Signal table

Four rows for things that look like evidence and are not: a piped command's exit status, green tests on a dependency whose engines were never enforced, a vulnerability count that predates its own fix, and a 200 from a link that expires next month.

Keeping the file honest

A closing section on updating this at the moment something is learned, with three questions that each produced a section above. The useful one is what went green that should have gone red, because a silent pass gets less attention than a failure and deserves more.

Note on style

The file had no em dashes before this and has none after. I introduced five while drafting and took them back out.

Seven new sections, each with the thing it caught, following the rule that a
gate with no incident behind it does not belong here.

The two worth reading first are the ones where something went green that should
have gone red. A lint run reported clean because the command was piped through
head, so the shell reported head's exit status. And a test library declaring
node >=22 ran its whole suite on Node 20, because npm treats engines as
advisory; a sibling package declaring the same thing failed loudly, and the
loud one was the lucky case.

Opening a repository to contributors turned out to test the process rather than
the code. A contributor refused a review instruction of mine that would have
trusted the host header behind AllowedHosts "*", and was right. Two issues I
filed for features that already existed were caught by someone who read the
code. The CLA gate blocked the dependency bot's own pull requests. None of it
was a code defect and none would have surfaced from another solo month.

Also records that barakoCMS publishes before it deploys: test, publish,
deploy-playground, so packages go public and only then does anything get
observed running. Phase 6 says the opposite. The general form is worth checking
anywhere: draw the needs graph and put the irreversible job last, because a bad
deploy rolls back and a bad publish does not.

Closes with how to keep this file honest, since it is only useful if it is
updated at the moment something is learned, which is the moment it is least
convenient.
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@arnelirobles, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 9 minutes

Limit details: You’ve used all 3 included reviews currently available under your plan.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 69d22ce2-22c3-4988-b870-6ebe93b2c9af

📥 Commits

Reviewing files that changed from the base of the PR and between 20a03e3 and 4c6c26b.

📒 Files selected for processing (1)
  • DELIVERY.md

Comment @coderabbitai help to get the list of available commands.

The anti-vacuity guard this document recommends was itself written as a grep of
console output, and failed a run where all 24 tests passed: CI colours the
reporter and a local pipe does not, so ANSI escapes sat between the words the
pattern matched on. It passed on a laptop and failed on the runner.

Recorded because of when it happened. It was written in the same hour as the
section describing that exact failure, by someone who had just finished writing
it. That is the argument for gates over intentions, and it belongs in the file
rather than in a memory of it.
@arnelirobles
arnelirobles merged commit bdf2f8e into main Aug 17, 2026
1 check passed
@arnelirobles
arnelirobles deleted the delivery-aug17 branch August 17, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant