Skip to content

feat(patterns) author 5 GoF and EAA entries - #438

Merged
mjmirza merged 1 commit into
mainfrom
feat/gof-eaa-batch-15
Aug 24, 2026
Merged

feat(patterns) author 5 GoF and EAA entries#438
mjmirza merged 1 commit into
mainfrom
feat/gof-eaa-batch-15

Conversation

@mjmirza

@mjmirza mjmirza commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

Authors 5 pattern entries at the full 18-dimension quality bar, closing out
every entry left in the authoring queue that is not permanently out of scope.

  • Null Object (01-design-patterns-gof)
  • Service Layer (06-enterprise-application-architecture)
  • Presentation Model (06-enterprise-application-architecture)
  • Session Facade (06-enterprise-application-architecture)
  • Intercepting Filter (06-enterprise-application-architecture)

Each entry carries original prose, every factual claim cited to a primary
source (books, official framework docs, or the author's own retrospective
writing), a self-contained working code sample in 3 to 4 languages, and an
explicit flag on anything that could not be independently confirmed rather
than smoothing it over.

After this merges, docs/AUTHORING-QUEUE.json holds only the three entries
already flagged as permanently out of scope for self-authoring, unchanged by
this PR. a metrics entry deferred over an unbounded label-value scale, a
windowing entry flagged as a collision against virtual-list.md that is never
self-resolved, and a confirmed permanent duplicate of an already-published
entry.

Verification

  • check-structure.py. 889/889 entries pass
  • check-prose.py. 930/930 files pass
  • markdownlint-cli2. 0 issues in 928 files
  • check-family-names.py. 29 family folders match the README table
  • check-code.py --strict. 2843 compiled, 0 failed
  • validate-refs.py --strict. 4991 distinct citations, every citation resolves
  • check-duplicates.py (advisory). 5 expected queue collisions against
    distinct, already-published, conceptually related entries, each already
    cross-referenced in its own related frontmatter and prose

Test plan

  • All 6 mandatory gates pass on the full repository
  • check-duplicates.py run and reviewed (advisory, no blocking findings)
  • gen-indexes.py, gen-by-problem-by-language.py, and
    gen-catalogue-status.py all re-run after the final code fixes
  • Family 01 and 06 READMEs regenerated and confirmed to include the
    new entries
  • Authoring queue reduced from 8 to the 3 permanently out-of-scope
    entries

…er, Presentation Model, Session Facade, Intercepting Filter

Adds five 18-dimension pattern entries at the full quality bar.

- Null Object (01-design-patterns-gof), Woolf 1998, with the Tony
  Hoare QCon 2009 null-reference retrospective quoted in dimension 1.
- Service Layer (06-enterprise-application-architecture), Fowler and
  Stafford 2002, cross-referenced against Fowler's AnemicDomainModel
  bliki post and Spring's own Service and PreAuthorize documentation.
- Presentation Model (06-enterprise-application-architecture), Fowler
  2004, tracing the honest, only-partially-confirmed lineage to
  Gossman's 2005 MVVM post and to Massive View Controller.
- Session Facade (06-enterprise-application-architecture), Alur,
  Crupi, Malks 2001, sourced against the official Core J2EE Patterns
  sample chapter with page-numbered refactorings.
- Intercepting Filter (06-enterprise-application-architecture), Alur,
  Crupi, Malks 2001, cross-referenced against the Jakarta Servlet
  specification and Spring Security's own FilterChainProxy docs.

Every code sample across all five entries is self-contained, defining
local stand-ins for every referenced framework type (Spring, EJB,
Jakarta Servlet, Express) so each block compiles in isolation with no
external classpath, matching the existing unit-of-work.md precedent.

Regenerates the family 01 and 06 indexes, BY-PROBLEM and BY-LANGUAGE,
the root README and catalogue-status dashboards, and removes the five
published entries from the authoring queue, leaving only the three
entries that are permanently deferred or flagged for manual review.

Verified. check-structure.py, check-prose.py, markdownlint-cli2,
check-family-names.py, and check-code.py --strict all pass at zero
failures across the full repository. validate-refs.py --strict
resolves every citation. check-duplicates.py surfaces five expected
queue collisions against already-published, conceptually related but
distinct entries, each already cross-referenced in its own frontmatter
and prose.
@mjmirza mjmirza added the enhancement New feature or request label Aug 24, 2026
@mjmirza

mjmirza commented Aug 24, 2026

Copy link
Copy Markdown
Owner Author

REVIEWED. Approve. Diff is 2850 insertions across 14 files, reviewed in multiple
passes given the size, not as one signature.

Pass 1, content and sourcing (the 5 new entry files, ~2350 lines).
Each of the 5 entries was read end to end against its own research
dossier before being written. every citation traces to a primary
source (Woolf 1998, Fowler and Stafford 2002, Fowler's own 2004 and
2006 articles, Gossman's 2005 MVVM post, the official Core J2EE
Patterns sample chapter, the Jakarta Servlet specification, Spring
and Spring Security's own docs). Anything that could not be
independently confirmed in this pass is flagged in the entry's own
prose rather than smoothed over (the Massive ViewModel analogy in
Presentation Model, the missing modern production case in Session
Facade, the unconfirmed Front Controller cross-reference wording in
Intercepting Filter).

Pass 2, code correctness (the Code sections across all 5 entries).
Every fenced code block in every language was traced against
check-code.py --strict, which compiles each block in isolation. Nine
real failures surfaced from external-framework references (Spring,
EJB, Jakarta Servlet, Express) with no local classpath, plus one
follow-up failure from a local Request/Response interface colliding
with a global ambient undici-types declaration. All ten were fixed by
defining local, self-contained stand-ins for every referenced type,
matching the existing unit-of-work.md precedent. Final run. 2843
compiled, 0 failed.

Pass 3, mechanical gates and generated output (the remaining 500
lines, README + dist + docs + queue). check-structure.py 889/889,
check-prose.py 930/930, markdownlint-cli2 0 issues in 928 files,
check-family-names.py 29/29 folders match, validate-refs.py --strict
resolves all 4991 citations. The three generators ran in the required
order (indexes, by-problem and by-language, then the queue removal,
then catalogue-status) and their diffs are exactly the expected shape,
two family README updates plus the four repo-wide dashboards, with
the queue correctly reduced from 8 to the 3 permanently out-of-scope
entries. check-duplicates.py (advisory) surfaces 5 expected
collisions against distinct, already-published, conceptually related
entries, each already cross-referenced in its own frontmatter and
prose, not a real duplicate.

CI on the PR itself confirms the same six checks independently.
citations resolve, claim check, code samples compile, markdown style,
structure and prose, and the PR security check, all pass.

@mjmirza
mjmirza merged commit 18fa1e2 into main Aug 24, 2026
12 checks passed
@mjmirza
mjmirza deleted the feat/gof-eaa-batch-15 branch August 24, 2026 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant