Business agent-design 17 min read

Expanding blog-gate into a Strategic Gate — Moving from Cosmetic Detection to G-Rule Structuring

A pattern for extending blog-gate G-rules to structurally detect missing SEO, audience, and cluster information. This article outlines how to design systems that allow machines to catch architectural failures, such as missing pillar strategy layers, before content production begins.

Published 2026-05-24 Takumi Morimoto

The HUMAN_INPUT marker used in this article refers to a placeholder left in the text by the AI writing skill, indicating “this is where a human should later finalize the value” (e.g., <!-- HUMAN_INPUT: Insert numerical value -->).

Historically, blog-gate has focused on detecting inconsistent terminology and forbidden words—things like “DX,” “revolutionary,” or “our company.” These are cosmetic failures that machines can easily stop. However, a significant accident occurred when a pillar was scheduled for publication while its entire SEO section was missing, having slipped through the cosmetic gate. This was discovered during the brief validation phase for pillar #3, Bateson; meanwhile, the two preceding articles (Reset Timeline and McLuhan) were already scheduled.

Structural gaps cannot be stopped by a cosmetic gate. To prevent them, the gate must extend its rules from the cosmetic level to the strategic layer. By adding a “fail if pillar SEO section has missing mandatory fields” G-rule, design failures can be structurally prevented before the content is even written.

Cosmetic Gates vs. Strategic Gates

Examples of Cosmetic Failures Targeted by G1–G10

The current blog-gate.ts implements checks G1 through G13.

Representative cosmetic checks include:

  • G1: HUMAN_INPUT marker remnants (ensuring no unresolved human input remains in the text).
  • G2: /blog/ path remnants in internal links (detecting deprecated paths).
  • G3: Tags that do not exist in the tags.ts SSOT.
  • G10: Prohibiting Yakumo from referring to itself as “the company” or “the firm.”

These are all issues related to “writing style.” They stop forbidden patterns detected within the text. While these checks are essential, the gate’s scope has been limited to superficial attributes like body text, forms, and tags.

Why Strategic Gaps Cannot Be Detected by Cosmetic Gates

A missing SEO section does not appear within the body text itself. It is a structural issue regarding whether specific fields exist in the brief YAML. A cosmetic gate scanning the body text cannot detect the absence of an seo: key in the YAML.

The same applies to unconfigured audience.primary settings. If a pillar exists without a defined target audience, the gate will pass it regardless.

This is the fundamental difference between a cosmetic gate and a strategic gate. A cosmetic gate stops “writing failures,” whereas a strategic gate stops “design failures.”

Evaluating the Impact of Gaps

Comparing the damage of a missing SEO section versus a forbidden word:

A single forbidden word (like “DX” or “our company”) in an article is easily corrected post-publication. The degradation of the reader experience is limited, and generally, the correction cost is low.

The damage of publishing a pillar with a missing SEO section is structural. Since no primary keyword is set, downstream skills (blog-tech-write, blog-review, blog-meta) cannot access the SEO section. The article is published without reflecting keywords in the H2 structure or optimizing meta title/description. Furthermore, cluster SEO—the design of cascading the pillar’s primary keyword to spokes’ secondary keywords—fails to function.

In our case, three pillars were scheduled with missing SEO sections. While Bateson was addressed during the brief phase, the other two left post-publication risks that required description retrofitting right before the schedule.

Pattern for Detecting Strategic Gaps via G-Rules

G11: Fail if Pillar SEO Section Lacks 4 Mandatory Fields

The concept for G11 is as follows:

For a brief YAML where is_pillar === true:
  If seo.primary_keyword is missing → fail
  If seo.secondary_keywords is an empty array → fail
  If seo.search_intent is missing → fail
  If seo.serp_title_finalized is missing → fail

The parseBriefForG11 function in scripts/blog-gate.ts reads the brief YAML, and if isPillar is true, it verifies the four mandatory fields in the SEO section. If any are missing, it accumulates failures and stops processing with exit 1.

Crucially, this detection happens against the brief YAML. Since it functions before the body text (.md) even exists, it prevents design gaps before writing begins.

G12: Fail if is_pillar=true and audience.primary is Unset

The detection target for G12 (currently treated as an extension of G11 in the implementation) is an unset audience.primary.

A pillar is a cornerstone content piece directed at a specific audience. An unset audience.primary implies that the design for “who this pillar is for” is incomplete. Proceeding to write body text in this state means the narrative arc will be designed without a target audience in mind.

The blog-tech-write skill has a contract to adjust vocabulary level and depth by referencing audience.primary in the brief. If the value is missing in the hub, the quality of downstream skill output cannot be guaranteed.

Implementation Pattern for Rule Addition

Adding rules to scripts/blog-gate.ts follows this structure:

  1. Add existence checks for new fields to the object returned by parseBriefForG11 inside the checkG11_PillarSeoSection function.
  2. Push missing fields into a missingFields array.
  3. If missingFields.length > 0, generate a Failure and push it to the failures array.
  4. If there is at least one failure, stop processing with exit 1 (this flow is identical to existing G1–G10).

Every time a new mandatory field is added to the brief YAML schema, simply adding one line to parseBriefForG11 expands the gate’s coverage. This design minimizes the “cost of adding rules.”

Gate Expansion Design Decisions — Where to Stop Machines?

The Cost of False Positives

The cost of false positives (incorrectly failing a valid article) is often invisible. The stricter the rules, the more frequently well-designed articles get stopped by the gate. Writers pay the cost of investigating “why it stopped,” and in some cases, lose trust in the gate itself.

A common example is defining a field as “mandatory” when it could actually be optional. For instance, applying the pillar SEO section rule to spoke articles would cause spoke briefs to fail constantly. This is why G11 is limited only to is_pillar === true.

The Cost of False Negatives

The cost of false negatives (a strategic gap slipping through the gate) is highly visible. Problems are discovered post-publication, incurring correction costs.

In the case of a missing SEO section, post-publication fixes might be limited to description retrofitting. However, if title/H2 changes are required, it might involve changing existing URLs, limiting options after publication.

In other words, false negatives carry high “irreversibility.”

Balancing Criteria

The balancing criteria is: information that should be decided at the design phase should be subject to a mechanical gate.

seo.primary_keyword should be determined when writing the pillar brief. audience.primary is also information set during brief generation. These are prone to “forgetting” and should exist at the design stage. They are suitable for mechanical gates.

Conversely, “consistency of argument” in body text or “integration of narrative arc” between H2s are difficult to detect via mechanical gates. These are human judgment areas handled by the blog-review skill. Including them in a mechanical gate only increases false positives without improving detection accuracy.

“Let machines stop failures they can catch. Let humans handle areas machines cannot judge.” This division of labor is the guiding principle for gate design.

Summary — The Significance of Expanding Mechanical Stop-Ranges

Focusing Human Review on Truly Subjective Areas

When a mechanical gate handles only cosmetic checks, human judgment in blog-review is spread across a broad, parallel range—from “are there forbidden words” to “is the narrative arc consistent.”

By including strategic gaps in G-rules, the area for human review shifts. Humans no longer need to check for “missing SEO sections” because machines have already caught them. Human judgment resources can then concentrate on perspectives difficult for machines to evaluate, such as “is it truly reaching the audience?” or “is the pillar’s narrative arc persuasive?”

Trade-off Between Gate Expansion Costs and Preventing Recurrent Accidents

The cost of adding one line to scripts/blog-gate.ts is minimal. Conversely, the cost of retrofitting three pillars is certainly higher than the cost of preventing it at the brief stage.

The cost-effectiveness of gate expansion is non-linear. The implementation cost is one-time, while the cost of continued prevention is near zero. The more accidents occur, the higher the return on investment.

The policy of “expanding the scope of mechanical detection from cosmetic to strategic layer gaps” is not a conclusion reached after cost calculation, but a prerequisite to hold as a starting point for design.

→ For the overall picture of the pipeline strategy layer design, refer to Design Principles for AI Agent Harness. For details on the design of using brief YAML as a hub, refer to Designing Brief YAML as a Hub Between Skills.

→ For the history of how failures that machines could not stop were discovered and why gate expansion became necessary, refer to The Story of Withdrawing All AI-Mass-Produced Blogs in About 1 Week.

→ For tuning designs that navigate false positives/negatives unavoidable with G-rule expansion, refer to Pre-publish Gate Design — Balancing False Positives and False Negatives.