Reorganize repo into method/ + projects/{ecuador-museum,harbor-house}

The repo outgrew a single-project layout: the reusable form-language
template and the draft paper about the method were mixed in with
Ecuador-specific ref/narratives/docs, and a second real project (Harbor
House) had been growing inside templates/examples/ despite no longer
being just a template demo. Split into:

- method/ - the generalized form-language prompt template and the
  paper about the method, project-agnostic
- projects/ecuador-museum/ - the original counter-proposal (ref/,
  narratives/, docs/, unchanged in content)
- projects/harbor-house/ - promoted out of templates/examples/, now a
  peer project with its own ref/narratives/docs, including previously
  untracked pattern subset, narrative, and illustration material

Root CLAUDE.md now covers the shared method and repo-wide conventions;
each project gets its own CLAUDE.md with project-specific brief,
inputs, and status. Updated all internal path references (paper.md,
outline.md, per-project CLAUDE.md, settings.local.json). Dropped stray
scratch files superseded by proper copies (all.txt, the already-
converted pattern-language PDF).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Bruno Postle 2026-07-28 08:37:50 +01:00
parent d127ee138a
commit f864004e0a
91 changed files with 585 additions and 298 deletions

329
CLAUDE.md
View file

@ -1,291 +1,100 @@
# National Museum of Ecuador — Pattern Language Counter-Proposal
# Pattern-Language / Form-Language Design Method — Tooling & Projects
## What this project is
## What this repo is
A public-advocacy counter-proposal for the New Building of the National Museum
of Ecuador (Quito), written from scratch to be **100% committed to meeting the
human needs of the people who will use the museum** — visitors, staff, school
groups, and the communities whose heritage it holds — rather than to
"inhuman" architectural spectacle.
This repo holds a **reusable method** for synthesizing human-centered
architectural design narratives from Christopher Alexander's pattern
language plus a region-specific form language, together with the
**concrete projects** that apply it. It started as a single project (the
Ecuador museum counter-proposal); the method and tooling were then
generalized out of that project once a second, unrelated project (Harbor
House) needed the same pipeline. Layout:
Background: the Government of Ecuador ran an open international call (Stage 1
deadline 17 Feb 2026) for the museum's architectural preliminary project. A
winner was selected, but the winning design has provoked considerable public
objection over its failure to serve human needs, and is currently on hold and
may be abandoned. This project is not a competition entry — it is an
independent alternative vision, intended to be published to influence the
public debate in Ecuador while the winning scheme's fate is undecided.
```
method/ generalized, project-agnostic tooling + the paper about it
form-language-prompt-template.md
paper/ draft paper on the method, extending buildings-15-02400
Team: a small informal group (not a single firm), of which Bruno is one
member.
projects/
ecuador-museum/ National Museum of Ecuador counter-proposal (see its CLAUDE.md)
ref/ narratives/ docs/
harbor-house/ Harbor House travellers' inn, Sheffield (see its CLAUDE.md)
ref/ narratives/ docs/
```
Each project directory has its own `CLAUDE.md` with that project's brief,
inputs, deliverable conventions, and status. This root file covers what's
shared: the method itself, and repo-wide conventions.
Related but **separate** repositories (not part of this monorepo):
- `homemaker-addon` — automates spatial layout generation; consumes the
output of this repo's projects (e.g. the Harbor House proposal) but is
developed independently and has its own history/tooling.
## Method
This project directly applies the methodology described in:
The generalized method (`method/`) is described in and extends:
> Postle, B.; Salingaros, N.A. "LLM and Pattern Language Synthesis: A Hybrid
> Tool for Human-Centered Architectural Design." *Buildings* 2025, 15, 2400.
> (`ref/buildings-15-02400-v2.txt`) — Bruno is the paper's first author.
> (`projects/ecuador-museum/ref/buildings-15-02400-v2.txt`) — Bruno is the
> paper's first author. `method/paper/` is a draft follow-up paper covering
> the extension to a second, form-language input and validation across two
> independent projects (Ecuador, Harbor House).
Core idea of the method: Christopher Alexander's *A Pattern Language* (1977)
encodes 253 human-centered design patterns, but at 1166 pages it's too
unwieldy for direct practical use, and requires expert familiarity to select
and combine patterns. The paper's workaround:
Core idea: Christopher Alexander's *A Pattern Language* (1977) encodes 253
human-centered design patterns, but at 1166 pages it's too unwieldy for
direct practical use, and requires expert familiarity to select and combine
patterns. The method's workaround:
1. A web tool ([APL-Companion](https://apl-companion.netlify.app/apl.html))
lets someone familiar with the patterns curate a **project-specific
subset** of the 253, then export it as a condensed PDF (titles +
paraphrased summaries only, no navigation chrome). We convert these PDF
exports to Markdown once received (see Conventions below).
2. That pattern subset is fed to an LLM as context, along with a prompt describing the
project (purpose, scale, local context) and a request for a **narrative
description of the human experience** of the building — look, feel, and
ornamental treatment — grounded only in the selected patterns.
3. The LLM's narrative is checked for fidelity against the pattern subset
paraphrased summaries only, no navigation chrome). PDF exports are
converted to Markdown once received (see Conventions below).
2. Optionally, a **form language** (region/climate-specific vocabulary of
materials, massing, color, and ornament) is generated or supplied as a
second input — `method/form-language-prompt-template.md` generalizes the
prompting process used to produce one, for reuse on any region/typology.
3. The pattern subset (and form language, if used) is fed to an LLM as
context, along with a prompt describing the project (purpose, scale,
local context) and a request for a **narrative description of the human
experience** of the building — look, feel, and ornamental treatment —
grounded only in the selected patterns.
4. The LLM's narrative is checked for fidelity against the pattern subset
(any element not traceable to a selected pattern is a hallucination to be
caught and regenerated away).
4. Optionally, the narrative can later be used as a prompt for AI image
5. Optionally, the narrative can later be used as a prompt for AI image
synthesis to produce illustrative (not prescriptive) visuals — the paper
found this reliably reveals human-centered forms even with no style
imposed. **We do not run image generation ourselves**, but we do write
the detailed image-generation prompts (see `docs/illustration-prompts.md`)
and embed the resulting images once generated elsewhere (by the user,
via an external tool) into the combined presentation document.
imposed. Image generation itself is run externally (by the project owner,
via whatever tool), not by this tooling; this repo writes the detailed
image-generation prompts and embeds the resulting images into each
project's presentation document.
The output of the method is words, not drawings — the operational chain is
*pattern repository → project-specific pattern subset → LLM narrative
synthesis → evaluation*.
*pattern repository → project-specific pattern subset (+ optional form
language) → LLM narrative synthesis → evaluation*.
## Our process for this project
1. **Pattern subset** — a subset pattern language for a national museum,
built with the APL-Companion tool, prepared by Nikos Salingaros (not
Bruno) and added to `ref/`.
2. **Condense the brief** — work through the official brief (see Reference
material below) and extract only the aspects that serve genuine human
needs (programmatic requirements, collection scale, site, functional
spaces), discarding or flagging anything that pushes toward inhuman /
spectacle-driven architecture. The critique transcript
(`ref/youtube-transcript.txt`) of the winning proposal is used here as a
source of **specific, concrete failures to avoid** — we mine it for
named problems (e.g. illegibility, hostility to human scale, disregard for
how people actually move/gather/rest) so the condensed brief and later
narratives explicitly steer clear of them.
3. **Write narratives** — using the pattern subset + condensed brief, write
one or more experiential narratives in the style of the paper's Section
4.2, from these viewpoints (at minimum):
- Visitor (general public)
- Museum staff (curators, conservators, educators)
- School group / children
- Indigenous / community stakeholders whose heritage is represented
Note that it is important that the narratives are mutually consistent,
features described in a narrative from the point of view of one stakeholder
must not contradict those perceived by another stakeholder.
## Deliverable
Two tiers of written output, both in Markdown:
1. **Working narratives** (`narratives/`) — the four stakeholder
viewpoints, each cross-referencing `ref/` for shared facts and
provenance. This is the drafting-stage material.
2. **Public presentation document** (`docs/counter-proposal.md`) — the
four narratives combined in full under one preamble, for publication.
This is the document actually meant to influence public debate, and the
one illustrated with images. It deliberately does **not** reference
`ref/` source material, pattern numbers, or grammar codes, and does
**not** condense the four narratives — see Status below.
**Output format and layout (decided)**:
- A top-level `narratives/` directory holds one Markdown file per
stakeholder viewpoint, numbered in the order listed under "Write
narratives" above:
- `narratives/01-visitor.md`
- `narratives/02-staff.md`
- `narratives/03-school-group.md`
- `narratives/04-community.md`
- Each file opens with a one-paragraph pointer to `ref/project-chassis.md`
(the shared invariants — site data, materials/color/ornament systems,
named circulation realms, collection placement) so a reader who only
opens one narrative still has the shared grounding, then the narrative
prose itself.
- The shared chassis document itself (`ref/project-chassis.md`) is treated
as reference material, not a deliverable narrative, and stays in `ref/`
alongside the pattern subset and condensed brief it distills.
- `docs/counter-proposal.md` holds the combined public document (see
Status below); `docs/illustration-prompts.md` holds one fully
self-contained AI image-generation prompt per illustration placeholder
(style guide pasted in full into each one, not cross-referenced, so any
single prompt can be copied standalone into an image generator);
`docs/images/` holds the generated illustrations — full-resolution PNGs
in `docs/images/originals/`, and quality-85 JPEG copies at top level
(referenced by `docs/counter-proposal.md`) kept small enough that the
exported `.docx` stays well under typical email attachment limits
(~20 MB for Gmail). `docs/counter-proposal.docx` is generated from the
Markdown via `pandoc docs/counter-proposal.md -o docs/counter-proposal.docx
--standalone --resource-path=docs` for sending directly (e.g. to Nikos to
format/edit) — it is not committed to the repo, since it's a regeneratable
export, not source material.
## Reference material (`ref/`)
- `buildings-15-02400-v2.txt` — the Postle & Salingaros paper this project's
method is based on.
- `A Pattern Language Ecuador National Museum.md` — the project-specific
pattern subset (55 patterns from Alexander/Ishikawa/Silverstein, numbered
and paraphrased by the APL-Companion tool), prepared by Nikos Salingaros
for this museum project. This is the core design-constraint input for
narrative writing.
- `Ecuadorian_Form_Language_Grammar.md` — "Ecuadorian Form Language — Quito
Grammar", a companion design-grammar module (generated by Kimi.ai, source
unclear beyond that) covering Quito's climate response rules, a vocabulary
of regional/historical form elements (indigenous, pre-Columbian, colonial,
baroque, regional), composition syntax, and color/ornament systems. Written
as a prompt module for an LLM. Relevant to us for the "look, feel, and
ornamental treatment" part of narrative-writing (per the paper's Section
4.2 approach) grounded in authentic Ecuadorian vernacular character, and
for glossary terms (zaguán, corredor, zócalo, alero, etc.) worth reusing
verbatim in our narratives. Its material/color/ornament vocabulary (CR1,
OP2, OP4, and the E-numbered form elements) also underpins the shared
style guide in `docs/illustration-prompts.md`, translated into plain
descriptive language there rather than cited by code.
- `Muna Technical Bases for Stage 1.txt` — the official Stage 1 open call
document: scope, site (Av. Eloy Alfaro / Av. de la República, Iñaquito,
Quito, 13,004.65 m² plot, min. 25,000 m² building), schedule, selection
process, and background on the National Museum of Ecuador.
- `Muna ANNEX-1_RulesMuseum_ENG.md`, `Muna ANNEX-2_RulesMuseum_ENG.md`
participation rules annexes (mostly administrative/legal boilerplate;
ANNEX-2 is longer, worth checking for programmatic requirements).
- `MUNA Guide-for-the-submission-of-the-enabling-documentation.txt`
administrative submission guidance (procedural, low relevance to design
content).
- `Muna.md` — template email for Stage 1 document submission (administrative
only).
- `youtube-transcript.txt` — transcript of a critique (Nikos Salingaros and
others) of the winning proposal, analysing it against human-centered
design/pattern-language principles. Use per "Condense the brief" above.
- `youtube-transcript-2026-07-23.txt` — transcript of a later symposium
(Salingaros, Nir Buras of the Classic Planning Academy, Pablo Álvarez
Funes, and others) discussing *this* counter-proposal project itself and
walking through Salingaros' own parallel narrative/image process (see
"Salingaros' parallel process" below) — not a critique of the winning
scheme, so not a source for `critique-failures.md`.
- `Salingaros-Chapter-11-Two-Languages-for-Architecture.md` — Chapter 11
("Two Languages for Architecture") of Salingaros' *A Theory of
Architecture* (2006/2014): the theoretical basis for combining a pattern
language (human/organizational rules) with a form language (geometric/
tectonic rules), cited as document 4 in his process-report article (see
below). Background reading, not itself a design-constraint input.
## Salingaros' parallel process (`docs/`)
Independently of, and in parallel with, our `narratives/`
`docs/counter-proposal.md` pipeline, Nikos Salingaros ran his own version of
the same method end-to-end (his own narrative, his own images, and an
article about the process), for completeness and as the origin of some of
our own inputs. His pattern subset and form-language grammar (in `ref/`,
see above) are shared with — and prepared by him for — our pipeline too, but
from that point on the two efforts diverge: our narrative synthesis and his
are separate LLM runs with separate outputs, and his illustrations were
generated independently of ours (ChatGPT, vs. our Midjourney). Included here
for completeness, not as an input to be merged into `docs/counter-proposal.md`.
His files, in pipeline order:
- `salingaros-narrative-prompt.md`, `salingaros-form-language-prompt.md`
his own raw prompts to an LLM (distinct from our prompting approach),
requesting the design narrative and the form-language grammar
respectively.
- `Casa-de-la-Memoria-Andina-National-Museum-Narrative-Kimi.txt` — an
intermediate narrative (from Kimi.ai) that Salingaros fed back into a
second LLM as "a narrative another LLM wrote" to be merged with its own
draft (see `salingaros-narrative-prompt.md`'s second prompt). A messier
PDF-extraction duplicate of this file also exists at
`ref/Casa de la Memoria Andina - National Museum Narrative-Kimi.txt`
(stale, kept from an earlier stage — see `ecuador-e0k` to remove it).
- `3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`
— his final design narrative, "Casa de la Memoria Ecuatoriana", the
output of the above merge. His counterpart to our `narratives/` +
`docs/counter-proposal.md`.
- `From-Pattern-Language-to-Architectural-Image-Salingaros-revised.md`
his process-report article describing the whole pipeline (pattern
language → form language → narrative → images → critique), written for
publication (e.g. ArchDaily), citing the pattern subset, the form-language
grammar, his design narrative, Chapter 11, his 30 concept images, and
complementary hand sketches by Pablo Álvarez Funes. An earlier, shorter
draft of this article was deleted (superseded, no unique content).
- `images-salingaros/` — his 25 ChatGPT-generated concept images
illustrating his narrative. Unrelated to our `docs/images/` (which
illustrates `docs/counter-proposal.md` and follows the
originals/JPEG + pandoc export convention described above) — his images
have no equivalent processing pipeline in this repo and aren't referenced
from any of our Markdown.
## Reusable templates (`templates/`)
Generalized, project-agnostic instruments distilled from this project's
own method — distinct from `ref/` (this project's specific inputs) and
`docs/` (this project's specific outputs). Intended for reuse on future
projects, and as candidate material for a future paper or revision of the
Buildings 2025 methodology.
- `form-language-prompt-template.md` — a single-shot prompt template
(with `{PLACEHOLDER}` fields for typology, region, site/climate, and
historical strata) that generalizes the two-step prompting process
Nikos Salingaros used to produce `ref/Ecuadorian_Form_Language_Grammar.md`
(see `docs/salingaros-form-language-prompt.md` for his original
prompts). Produces a structured form-language grammar document in the
same section shape as that worked example, meant to be paired with a
pattern-language module (per
`ref/Salingaros-Chapter-11-Two-Languages-for-Architecture.md`) as input
to a later narrative-generation prompt.
- `examples/sheffield.md` — a second worked example of
`form-language-prompt-template.md`, filled in for Harbor House, a
travellers' inn in Sheffield/South Yorkshire, unrelated to the Ecuador
museum project — kept here to demonstrate the template generalizes
beyond its Ecuador origin, not as project input.
Per-project specifics (which stakeholder viewpoints to write, deliverable
file layout, status) are in each project's own `CLAUDE.md`:
`projects/ecuador-museum/CLAUDE.md`, `projects/harbor-house/CLAUDE.md`.
## Conventions
- Reference documents received as PDF are converted to Markdown (or plain
text, for documents like the academic paper where reflowing into headed
sections isn't worth the effort) and the PDF is then deleted — keeps
everything in `ref/` greppable and quotable rather than needing repeated
page-range PDF reads. Check conversions carefully: PDF text extraction can
silently mis-join hyphenated compounds and drop ligatures/symbols.
## Status
The full pipeline is complete: brief condensed (`ref/brief-condensed.md`),
critique failures mined (`ref/critique-failures.md`), shared chassis
extracted and reconciled (`ref/project-chassis.md`), all four stakeholder
narratives drafted (`narratives/01-visitor.md` through `04-community.md`)
and cross-checked for pattern/brief/grammar fidelity and mutual
consistency.
Those four narratives have been combined **in full** (not condensed —
repetition across viewpoints describing the same spaces is intentional,
not trimmed for brevity) into the public presentation document
`docs/counter-proposal.md`, stripped of `ref/` citations, pattern numbers,
and grammar codes. 13 illustration prompts were written
(`docs/illustration-prompts.md`), the images generated externally (by the
user, via Midjourney) and downloaded to `docs/images/`, and all 13 are now
embedded in `docs/counter-proposal.md` in place of the illustration
placeholders. `docs/counter-proposal.docx` is the current send-to-Nikos
export (regenerate via the pandoc command in Deliverable above after any
edit to the Markdown or images).
Open/next: no outstanding pipeline steps — future work is likely editorial
revision based on Nikos's feedback on the docx, or replacing individual
illustrations if a generated image doesn't hold up (e.g. the entrance
portal image shows three arches, not the five bays described in the text —
the text is the design intent and stays as-is; only the image's caption was
adjusted to not assert a bay count).
Since then, Salingaros' own parallel narrative/image/article material has
been added to `docs/` and `ref/` (see "Salingaros' parallel process" above)
— separate from, not merged into, `docs/counter-proposal.md`.
everything in each project's `ref/` greppable and quotable rather than
needing repeated page-range PDF reads. Check conversions carefully: PDF
text extraction can silently mis-join hyphenated compounds and drop
ligatures/symbols.
- Each project follows the same internal shape: `ref/` (inputs — pattern
subset, form language, brief, chassis), `narratives/` (drafting-stage
stakeholder narratives), `docs/` (public presentation document, images,
illustration prompts). See each project's `CLAUDE.md` for the specifics
of what's in each.
<!-- BEGIN BEADS INTEGRATION v:1 profile:minimal hash:7510c1e2 -->

View file

Before

Width:  |  Height:  |  Size: 335 KiB

After

Width:  |  Height:  |  Size: 335 KiB

View file

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 299 KiB

View file

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

View file

@ -9,7 +9,7 @@ Authors: Bruno Postle, Nikos A. Salingaros
Target venue: *Buildings* (sequel to Postle & Salingaros, "LLM and
Pattern Language Synthesis: A Hybrid Tool for Human-Centered
Architectural Design," *Buildings* 2025, 15, 2400 —
`ref/buildings-15-02400-v2.txt`)
`projects/ecuador-museum/ref/buildings-15-02400-v2.txt`)
Status: superseded as the working document by the full prose draft at
`paper/paper.md`, which follows this outline's structure. Kept here as
@ -29,22 +29,22 @@ is on hold pending public objection.
The original method combined a pattern-language subset with a project
brief. This project adds a third input, run in parallel with it: a
**form language**, per Salingaros' "Two Languages for Architecture"
(`ref/Salingaros-Chapter-11-Two-Languages-for-Architecture.md`) — the
(`projects/ecuador-museum/ref/Salingaros-Chapter-11-Two-Languages-for-Architecture.md`) — the
pattern language governs human/organizational rules, the form language
governs geometric/tectonic rules (climate response, material,
color, ornament, historical strata).
Inputs used:
- Pattern language: `ref/A Pattern Language Ecuador National Museum.md`
- Pattern language: `projects/ecuador-museum/ref/A Pattern Language Ecuador National Museum.md`
(55 patterns, curated via APL-Companion)
- Form language: `ref/Ecuadorian_Form_Language_Grammar.md`
- Brief/critique: `ref/brief-condensed.md`, `ref/critique-failures.md`
- Form language: `projects/ecuador-museum/ref/Ecuadorian_Form_Language_Grammar.md`
- Brief/critique: `projects/ecuador-museum/ref/brief-condensed.md`, `projects/ecuador-museum/ref/critique-failures.md`
## 3. Templating the form-language step
Salingaros' original form-language grammar was produced by a bespoke,
non-reusable two-step prompt (`docs/salingaros-form-language-prompt.md`).
This paper generalizes it into `templates/form-language-prompt-template.md`
non-reusable two-step prompt (`projects/ecuador-museum/docs/salingaros-form-language-prompt.md`).
This paper generalizes it into `method/form-language-prompt-template.md`
— a single-shot, placeholder-driven instrument (typology / region /
site-climate / historical strata) that produces a grammar document in
the same section shape, analogous to how the APL-Companion tool
@ -58,11 +58,11 @@ Same pattern subset + same form-language grammar, fed into two
divergent outputs:
- **Postle track**: four stakeholder narratives (visitor, staff, school
group, community) → `docs/counter-proposal.md`, illustrated with 13
Midjourney images (`docs/images/`).
group, community) → `projects/ecuador-museum/docs/counter-proposal.md`, illustrated with 13
Midjourney images (`projects/ecuador-museum/docs/images/`).
- **Salingaros track**: a single merged narrative,
`docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`,
illustrated with 25 ChatGPT-generated images (`docs/images-salingaros/`).
`projects/ecuador-museum/docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`,
illustrated with 25 ChatGPT-generated images (`projects/ecuador-museum/docs/images-salingaros/`).
Report as a qualitative finding, not a controlled comparison: the two
image sets differ markedly in register. Salingaros' ChatGPT images read
@ -80,7 +80,7 @@ paper's default visual register elsewhere.
## 5. Reception
The July 23 symposium (`ref/youtube-transcript-2026-07-23.txt`) as
The July 23 symposium (`projects/ecuador-museum/ref/youtube-transcript-2026-07-23.txt`) as
informal peer engagement, on the record:
- Praise for aesthetic consistency of "spirit" across the (Salingaros)
images, without demanding pixel-identical repetition (~l.12951304).

View file

@ -224,7 +224,7 @@ and precedent references were checked against live sources and cited
inline rather than drawn purely from training-data recollection,
demonstrating the template is compatible with a stricter, source-checked
mode of use as well as the original's. The resulting document
(`templates/examples/sheffield.md`) follows the same section shape as the
(`projects/harbor-house/docs/sheffield.md`) follows the same section shape as the
Ecuadorian grammar while producing an entirely different vocabulary — dark
gritstone and coursed rubble rather than andesite, slate and Yorkshire
vernacular roof forms rather than red clay tile — which is the evidence
@ -329,7 +329,7 @@ Table 1 summarizes the two tracks.
|---|---|---|
| Narrative structure | 4 stakeholder-viewpoint narratives, combined in full | 1 merged narrative |
| Relation to shared root narrative | visitor narrative = root text; other 3 written independently | root text merged with a second, independently drafted LLM narrative |
| Output document | `docs/counter-proposal.md` | `docs/3.Casa-de-la-Memoria-Ecuatoriana-*.txt` |
| Output document | `projects/ecuador-museum/docs/counter-proposal.md` | `projects/ecuador-museum/docs/3.Casa-de-la-Memoria-Ecuatoriana-*.txt` |
| Image generator | Midjourney | ChatGPT |
| Image count | 13 | 25 |
| Image register (requested) | watercolor / gouache illustration | no medium constraint; rendered photo-realistic |
@ -394,7 +394,7 @@ A (Postle, reproducing the shared root narrative almost verbatim):
> as a tectonic history of the country: dark stone at the earth, thick
> limewashed tapial and adobe above it, and a lighter crown of timber and
> bahareque beneath the roofs.
> — `narratives/01-visitor.md`
> — `projects/ecuador-museum/narratives/01-visitor.md`
Track B (Salingaros, same opening, independently elaborated):
@ -407,7 +407,7 @@ Track B (Salingaros, same opening, independently elaborated):
> masonry... Against this field of tile, a small number of skyline events
> are reserved for the communal cores: a glazed lantern over the stair
> hall, a sculpted finial rising above the education wing.
> — `docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`
> — `projects/ecuador-museum/docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`
The two images below illustrate the same corner. Figure 1 is Track A's
watercolor register; Figure 2 is Track B's photo-realistic register —
@ -430,7 +430,7 @@ the same "five bays" claim, again in near-identical wording:
> in a rhythm of five bays — unmistakable from both avenues, but not
> overpowering... The transition is staged and bodily: street, atrio,
> portal, zaguán, patio — the museum never exposes itself all at once.
> — `narratives/01-visitor.md`
> — `projects/ecuador-museum/narratives/01-visitor.md`
> The entrance projects from the façade as a deep stone portal composed
> in a rhythm of five bays — unmistakable from both avenues, its central
@ -438,7 +438,7 @@ the same "five bays" claim, again in near-identical wording:
> Within those doors, a postigo, a pedestrian door-within-a-door, admits
> visitors at daily scale, so the museum is entered the way Ecuadorian
> buildings have always been entered.
> — `docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`
> — `projects/ecuador-museum/docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`
Neither track's entrance image matches this shared text, and the two
images do not match each other either: Track A's shows a three-arched
@ -463,7 +463,7 @@ stage back to the written bay count.
> corredores remain in shade... Rainwater falls from expressed canales
> into shallow stone-lined rills that cross the court toward planted
> basins.
> — `narratives/01-visitor.md`
> — `projects/ecuador-museum/narratives/01-visitor.md`
Figures 5 and 6 show the same courtyard moment in each register. Track
B's image (Figure 6) is also a useful, unflattering instance of the
@ -641,26 +641,26 @@ rather than independently published data, and are cited here by their
path in the originating repository for traceability rather than as
formal references:
- Pattern subset: `ref/A Pattern Language Ecuador National Museum.md`
- Ecuadorian Form Language Grammar: `ref/Ecuadorian_Form_Language_Grammar.md`
- Pattern subset: `projects/ecuador-museum/ref/A Pattern Language Ecuador National Museum.md`
- Ecuadorian Form Language Grammar: `projects/ecuador-museum/ref/Ecuadorian_Form_Language_Grammar.md`
- Condensed brief and named-failure critique:
`ref/brief-condensed.md`, `ref/critique-failures.md`
- Shared invariants ("chassis"): `ref/project-chassis.md`
`projects/ecuador-museum/ref/brief-condensed.md`, `projects/ecuador-museum/ref/critique-failures.md`
- Shared invariants ("chassis"): `projects/ecuador-museum/ref/project-chassis.md`
- Shared root narrative and the prompts that produced it:
`docs/Casa-de-la-Memoria-Andina-National-Museum-Narrative-Kimi.txt`,
`docs/salingaros-narrative-prompt.md`
- Form-language prompt template: `templates/form-language-prompt-template.md`
- Template validation on a second project: `templates/examples/sheffield.md`
- Track A narratives and public document: `narratives/01-visitor.md`
through `narratives/04-community.md`; `docs/counter-proposal.md`;
illustration prompts, `docs/illustration-prompts.md`; images,
`docs/images/`
`projects/ecuador-museum/docs/Casa-de-la-Memoria-Andina-National-Museum-Narrative-Kimi.txt`,
`projects/ecuador-museum/docs/salingaros-narrative-prompt.md`
- Form-language prompt template: `method/form-language-prompt-template.md`
- Template validation on a second project: `projects/harbor-house/docs/sheffield.md`
- Track A narratives and public document: `projects/ecuador-museum/narratives/01-visitor.md`
through `projects/ecuador-museum/narratives/04-community.md`; `projects/ecuador-museum/docs/counter-proposal.md`;
illustration prompts, `projects/ecuador-museum/docs/illustration-prompts.md`; images,
`projects/ecuador-museum/docs/images/`
- Track B narrative and images:
`docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`;
`docs/images-salingaros/`; process report,
`docs/From-Pattern-Language-to-Architectural-Image-Salingaros-revised.md`
`projects/ecuador-museum/docs/3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`;
`projects/ecuador-museum/docs/images-salingaros/`; process report,
`projects/ecuador-museum/docs/From-Pattern-Language-to-Architectural-Image-Salingaros-revised.md`
- Paper-specific figure copies (Track B images, resized/compressed for
this document; Track A figures are referenced directly from
`docs/images/`): `paper/images/`
- Symposium transcript: `ref/youtube-transcript-2026-07-23.txt`
- Winning-scheme critique transcript: `ref/youtube-transcript.txt`
`projects/ecuador-museum/docs/images/`): `method/paper/images/`
- Symposium transcript: `projects/ecuador-museum/ref/youtube-transcript-2026-07-23.txt`
- Winning-scheme critique transcript: `projects/ecuador-museum/ref/youtube-transcript.txt`

View file

@ -0,0 +1,224 @@
# National Museum of Ecuador — Pattern Language Counter-Proposal
Paths below are relative to this directory (`projects/ecuador-museum/`)
unless stated otherwise. For the generalized method and repo-wide
conventions shared with other projects, see the root `CLAUDE.md`.
## What this project is
A public-advocacy counter-proposal for the New Building of the National
Museum of Ecuador (Quito), written from scratch to be **100% committed to
meeting the human needs of the people who will use the museum** —
visitors, staff, school groups, and the communities whose heritage it
holds — rather than to "inhuman" architectural spectacle.
Background: the Government of Ecuador ran an open international call (Stage
1 deadline 17 Feb 2026) for the museum's architectural preliminary project.
A winner was selected, but the winning design has provoked considerable
public objection over its failure to serve human needs, and is currently on
hold and may be abandoned. This project is not a competition entry — it is
an independent alternative vision, intended to be published to influence
the public debate in Ecuador while the winning scheme's fate is undecided.
Team: a small informal group (not a single firm), of which Bruno is one
member.
## Our process for this project
1. **Pattern subset** — a subset pattern language for a national museum,
built with the APL-Companion tool, prepared by Nikos Salingaros (not
Bruno) and added to `ref/`.
2. **Condense the brief** — work through the official brief (see Reference
material below) and extract only the aspects that serve genuine human
needs (programmatic requirements, collection scale, site, functional
spaces), discarding or flagging anything that pushes toward inhuman /
spectacle-driven architecture. The critique transcript
(`ref/youtube-transcript.txt`) of the winning proposal is used here as a
source of **specific, concrete failures to avoid** — we mine it for
named problems (e.g. illegibility, hostility to human scale, disregard for
how people actually move/gather/rest) so the condensed brief and later
narratives explicitly steer clear of them.
3. **Write narratives** — using the pattern subset + condensed brief, write
one or more experiential narratives in the style of the method paper's
Section 4.2, from these viewpoints (at minimum):
- Visitor (general public)
- Museum staff (curators, conservators, educators)
- School group / children
- Indigenous / community stakeholders whose heritage is represented
Note that it is important that the narratives are mutually consistent,
features described in a narrative from the point of view of one stakeholder
must not contradict those perceived by another stakeholder.
## Deliverable
Two tiers of written output, both in Markdown:
1. **Working narratives** (`narratives/`) — the four stakeholder
viewpoints, each cross-referencing `ref/` for shared facts and
provenance. This is the drafting-stage material.
2. **Public presentation document** (`docs/counter-proposal.md`) — the
four narratives combined in full under one preamble, for publication.
This is the document actually meant to influence public debate, and the
one illustrated with images. It deliberately does **not** reference
`ref/` source material, pattern numbers, or grammar codes, and does
**not** condense the four narratives — see Status below.
**Output format and layout (decided)**:
- A `narratives/` directory holds one Markdown file per stakeholder
viewpoint, numbered in the order listed under "Write narratives" above:
- `narratives/01-visitor.md`
- `narratives/02-staff.md`
- `narratives/03-school-group.md`
- `narratives/04-community.md`
- Each file opens with a one-paragraph pointer to `ref/project-chassis.md`
(the shared invariants — site data, materials/color/ornament systems,
named circulation realms, collection placement) so a reader who only
opens one narrative still has the shared grounding, then the narrative
prose itself.
- The shared chassis document itself (`ref/project-chassis.md`) is treated
as reference material, not a deliverable narrative, and stays in `ref/`
alongside the pattern subset and condensed brief it distills.
- `docs/counter-proposal.md` holds the combined public document (see
Status below); `docs/illustration-prompts.md` holds one fully
self-contained AI image-generation prompt per illustration placeholder
(style guide pasted in full into each one, not cross-referenced, so any
single prompt can be copied standalone into an image generator);
`docs/images/` holds the generated illustrations — full-resolution PNGs
in `docs/images/originals/`, and quality-85 JPEG copies at top level
(referenced by `docs/counter-proposal.md`) kept small enough that the
exported `.docx` stays well under typical email attachment limits
(~20 MB for Gmail). `docs/counter-proposal.docx` is generated from the
Markdown via `pandoc projects/ecuador-museum/docs/counter-proposal.md -o
projects/ecuador-museum/docs/counter-proposal.docx --standalone
--resource-path=projects/ecuador-museum/docs` (run from the repo root)
for sending directly (e.g. to Nikos to format/edit) — it is not
committed to the repo, since it's a regeneratable export, not source
material.
## Reference material (`ref/`)
- `buildings-15-02400-v2.txt` — the Postle & Salingaros paper this
project's method is based on (see root `CLAUDE.md`).
- `A Pattern Language Ecuador National Museum.md` — the project-specific
pattern subset (55 patterns from Alexander/Ishikawa/Silverstein, numbered
and paraphrased by the APL-Companion tool), prepared by Nikos Salingaros
for this museum project. This is the core design-constraint input for
narrative writing.
- `Ecuadorian_Form_Language_Grammar.md` — "Ecuadorian Form Language — Quito
Grammar", a companion design-grammar module (generated by Kimi.ai, source
unclear beyond that) covering Quito's climate response rules, a vocabulary
of regional/historical form elements (indigenous, pre-Columbian, colonial,
baroque, regional), composition syntax, and color/ornament systems. Written
as a prompt module for an LLM. Relevant to us for the "look, feel, and
ornamental treatment" part of narrative-writing (per the method paper's
Section 4.2 approach) grounded in authentic Ecuadorian vernacular
character, and for glossary terms (zaguán, corredor, zócalo, alero, etc.)
worth reusing verbatim in our narratives. Its material/color/ornament
vocabulary (CR1, OP2, OP4, and the E-numbered form elements) also
underpins the shared style guide in `docs/illustration-prompts.md`,
translated into plain descriptive language there rather than cited by
code.
- `Muna Technical Bases for Stage 1.txt` — the official Stage 1 open call
document: scope, site (Av. Eloy Alfaro / Av. de la República, Iñaquito,
Quito, 13,004.65 m² plot, min. 25,000 m² building), schedule, selection
process, and background on the National Museum of Ecuador.
- `Muna ANNEX-1_RulesMuseum_ENG.md`, `Muna ANNEX-2_RulesMuseum_ENG.md`
participation rules annexes (mostly administrative/legal boilerplate;
ANNEX-2 is longer, worth checking for programmatic requirements).
- `MUNA Guide-for-the-submission-of-the-enabling-documentation.txt`
administrative submission guidance (procedural, low relevance to design
content).
- `Muna.md` — template email for Stage 1 document submission (administrative
only).
- `youtube-transcript.txt` — transcript of a critique (Nikos Salingaros and
others) of the winning proposal, analysing it against human-centered
design/pattern-language principles. Use per "Condense the brief" above.
- `youtube-transcript-2026-07-23.txt` — transcript of a later symposium
(Salingaros, Nir Buras of the Classic Planning Academy, Pablo Álvarez
Funes, and others) discussing *this* counter-proposal project itself and
walking through Salingaros' own parallel narrative/image process (see
"Salingaros' parallel process" below) — not a critique of the winning
scheme, so not a source for `critique-failures.md`.
- `Salingaros-Chapter-11-Two-Languages-for-Architecture.md` — Chapter 11
("Two Languages for Architecture") of Salingaros' *A Theory of
Architecture* (2006/2014): the theoretical basis for combining a pattern
language (human/organizational rules) with a form language (geometric/
tectonic rules), cited as document 4 in his process-report article (see
below). Background reading, not itself a design-constraint input.
## Salingaros' parallel process (`docs/`)
Independently of, and in parallel with, our `narratives/`
`docs/counter-proposal.md` pipeline, Nikos Salingaros ran his own version of
the same method end-to-end (his own narrative, his own images, and an
article about the process), for completeness and as the origin of some of
our own inputs. His pattern subset and form-language grammar (in `ref/`,
see above) are shared with — and prepared by him for — our pipeline too, but
from that point on the two efforts diverge: our narrative synthesis and his
are separate LLM runs with separate outputs, and his illustrations were
generated independently of ours (ChatGPT, vs. our Midjourney). Included here
for completeness, not as an input to be merged into `docs/counter-proposal.md`.
His files, in pipeline order:
- `salingaros-narrative-prompt.md`, `salingaros-form-language-prompt.md`
his own raw prompts to an LLM (distinct from our prompting approach),
requesting the design narrative and the form-language grammar
respectively.
- `Casa-de-la-Memoria-Andina-National-Museum-Narrative-Kimi.txt` — an
intermediate narrative (from Kimi.ai) that Salingaros fed back into a
second LLM as "a narrative another LLM wrote" to be merged with its own
draft (see `salingaros-narrative-prompt.md`'s second prompt). A messier
PDF-extraction duplicate of this file also exists at
`ref/Casa de la Memoria Andina - National Museum Narrative-Kimi.txt`
(stale, kept from an earlier stage — see `ecuador-e0k` to remove it).
- `3.Casa-de-la-Memoria-Ecuatoriana-Design-Narrative-Museo-Nacional-del-Ecuador.txt`
— his final design narrative, "Casa de la Memoria Ecuatoriana", the
output of the above merge. His counterpart to our `narratives/` +
`docs/counter-proposal.md`.
- `From-Pattern-Language-to-Architectural-Image-Salingaros-revised.md`
his process-report article describing the whole pipeline (pattern
language → form language → narrative → images → critique), written for
publication (e.g. ArchDaily), citing the pattern subset, the form-language
grammar, his design narrative, Chapter 11, his 30 concept images, and
complementary hand sketches by Pablo Álvarez Funes. An earlier, shorter
draft of this article was deleted (superseded, no unique content).
- `images-salingaros/` — his 25 ChatGPT-generated concept images
illustrating his narrative. Unrelated to our `docs/images/` (which
illustrates `docs/counter-proposal.md` and follows the
originals/JPEG + pandoc export convention described above) — his images
have no equivalent processing pipeline in this repo and aren't referenced
from any of our Markdown.
## Status
The full pipeline is complete: brief condensed (`ref/brief-condensed.md`),
critique failures mined (`ref/critique-failures.md`), shared chassis
extracted and reconciled (`ref/project-chassis.md`), all four stakeholder
narratives drafted (`narratives/01-visitor.md` through `04-community.md`)
and cross-checked for pattern/brief/grammar fidelity and mutual
consistency.
Those four narratives have been combined **in full** (not condensed —
repetition across viewpoints describing the same spaces is intentional,
not trimmed for brevity) into the public presentation document
`docs/counter-proposal.md`, stripped of `ref/` citations, pattern numbers,
and grammar codes. 13 illustration prompts were written
(`docs/illustration-prompts.md`), the images generated externally (by the
user, via Midjourney) and downloaded to `docs/images/`, and all 13 are now
embedded in `docs/counter-proposal.md` in place of the illustration
placeholders. `docs/counter-proposal.docx` is the current send-to-Nikos
export (regenerate via the pandoc command in Deliverable above after any
edit to the Markdown or images).
Open/next: no outstanding pipeline steps — future work is likely editorial
revision based on Nikos's feedback on the docx, or replacing individual
illustrations if a generated image doesn't hold up (e.g. the entrance
portal image shows three arches, not the five bays described in the text —
the text is the design intent and stays as-is; only the image's caption was
adjusted to not assert a bay count).
Since then, Salingaros' own parallel narrative/image/article material has
been added to `docs/` and `ref/` (see "Salingaros' parallel process" above)
— separate from, not merged into, `docs/counter-proposal.md`.

View file

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 3.1 MiB

View file

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

View file

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

View file

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

Before

Width:  |  Height:  |  Size: 3 MiB

After

Width:  |  Height:  |  Size: 3 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

View file

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

View file

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View file

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

View file

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View file

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

View file

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View file

Before

Width:  |  Height:  |  Size: 327 KiB

After

Width:  |  Height:  |  Size: 327 KiB

View file

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 330 KiB

View file

Before

Width:  |  Height:  |  Size: 340 KiB

After

Width:  |  Height:  |  Size: 340 KiB

View file

Before

Width:  |  Height:  |  Size: 344 KiB

After

Width:  |  Height:  |  Size: 344 KiB

View file

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 330 KiB

View file

Before

Width:  |  Height:  |  Size: 406 KiB

After

Width:  |  Height:  |  Size: 406 KiB

View file

Before

Width:  |  Height:  |  Size: 415 KiB

After

Width:  |  Height:  |  Size: 415 KiB

View file

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 434 KiB

View file

Before

Width:  |  Height:  |  Size: 393 KiB

After

Width:  |  Height:  |  Size: 393 KiB

View file

Before

Width:  |  Height:  |  Size: 408 KiB

After

Width:  |  Height:  |  Size: 408 KiB

View file

Before

Width:  |  Height:  |  Size: 444 KiB

After

Width:  |  Height:  |  Size: 444 KiB

View file

Before

Width:  |  Height:  |  Size: 401 KiB

After

Width:  |  Height:  |  Size: 401 KiB

View file

Before

Width:  |  Height:  |  Size: 388 KiB

After

Width:  |  Height:  |  Size: 388 KiB

View file

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

View file

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

View file

Before

Width:  |  Height:  |  Size: 2.3 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

View file

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

View file

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View file

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View file

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View file

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View file

@ -0,0 +1,80 @@
# Harbor House — Travellers' Inn / Homeless-Relief Hostel, Sheffield
Paths below are relative to this directory (`projects/harbor-house/`)
unless stated otherwise. For the generalized method and repo-wide
conventions shared with other projects, see the root `CLAUDE.md`.
## What this project is
Harbor House is a travellers' inn intended to relieve pressure on homeless
services, sited in Sheffield, South Yorkshire. Unlike the Ecuador museum
project (a public-advocacy counter-proposal responding to a real open
call), this project's origin brief is thin: "a travellers' inn to relieve
pressure on homeless services" in Sheffield, with scale and other
programmatic detail left to reasonable assumption rather than sourced from
an external brief document — see the "Note on method" at the top of
`docs/sheffield.md` for what was assumed versus sourced. It exists
primarily as the **second validation project** for this repo's generalized
method and form-language template (see root `CLAUDE.md`), proving the
pipeline generalizes beyond its Ecuador origin to an unrelated typology and
region.
## Inputs (`ref/`)
- `harbor-house-pattern-language.txt` — the project-specific pattern
subset (Alexander/Ishikawa/Silverstein patterns such as TRAVELER'S INN,
SLEEPING IN PUBLIC, COURTYARDS WHICH LIVE), the core design-constraint
input for narrative writing, parallel to the Ecuador project's
`A Pattern Language Ecuador National Museum.md`.
## Form language (`docs/sheffield.md`)
Generated using `method/form-language-prompt-template.md` — this is the
template's second worked example (the Ecuador form-language grammar,
`projects/ecuador-museum/ref/Ecuadorian_Form_Language_Grammar.md`, was the
first). Supplies the climate script for Sheffield, a form vocabulary drawn
from South Yorkshire/Pennine building history, composition syntax, and
color/ornament systems, to be combined with the pattern subset in the
narrative-writing prompt. Unlike the Ecuador worked example, this document
was generated with real web search available, so climate figures and
precedents are sourced inline rather than drawn from training-data
recollection alone — see its own "Note on method" section.
## Deliverable
- `narratives/sheffield-narrative.md` — the experiential design narrative
for Harbor House, grounded in the pattern subset and form language above.
Unlike Ecuador's four stakeholder viewpoints, this project currently has
a single narrative, not split by stakeholder (visitor/staff/etc.) — no
multi-viewpoint pass has been done here yet.
- `docs/sheffield.docx` — a pandoc export of the narrative for sharing (not
committed to the repo, regeneratable, same convention as Ecuador's
`counter-proposal.docx`).
- `docs/images/originals/` — two ChatGPT-generated illustration contact
sheets (9-panel storyboards walking through "a day at Harbor House":
arrival, threshold, hearth, courtyard, gallery, shared meal, places
apart, sleeping neighbourhoods, evening) grounded in the narrative.
`harbor-house-storyboard-draft.png` and `harbor-house-storyboard.png` are
two passes at the same 9-scene storyboard (the latter adds a title
card and slightly revised captions); it's not confirmed which, if
either, is meant to be final — unlike Ecuador, there's no
`illustration-prompts.md` equivalent recording the prompts that produced
these, and no split into one image-per-scene at full resolution +
compressed top-level copy (Ecuador's `docs/images/` convention).
## Status
Less mature than the Ecuador project: pattern subset, form language, and
one narrative exist, plus two draft illustration contact sheets. Not yet
done, if this project is to reach parity with Ecuador's pipeline:
- Decide whether a single narrative is sufficient for this project's
purpose, or whether multiple stakeholder viewpoints (e.g. resident,
staff/caseworker, neighbor) are wanted.
- Reconcile the two storyboard images (pick one, or regenerate) and decide
whether to adopt Ecuador's per-scene illustration-prompt convention
(`docs/illustration-prompts.md` + one image per placeholder) instead of
a single contact-sheet image.
- No public-facing combined presentation document (Ecuador's
`docs/counter-proposal.md` equivalent) exists yet — currently the
narrative and images are separate deliverables, not merged into one.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

View file

@ -1,6 +1,6 @@
# Form Language — Sheffield / South Yorkshire (Harbor House)
*Generated using `templates/form-language-prompt-template.md`, filled in for
*Generated using `method/form-language-prompt-template.md`, filled in for
Harbor House, a travellers' inn intended to relieve pressure on homeless
services, sited in Sheffield, South Yorkshire, and drawing on the wider
architectural traditions of Yorkshire and the Pennine fringe.*

View file

@ -0,0 +1,11 @@
The Harbor House: A Transitional Home
The Harbor House stands on a corner lot, its warm brick façade and welcoming front porch immediately distinguishing it from institutional buildings. A wide bench sits outside the entrance, sheltered by a generous overhang, where residents often gather to watch passersby or engage with neighbors. The building doesn't announce itself as a homeless hostel there's no institutional signage, just a simple wooden sign with "Harbor House" carved into it, hanging above the door.
As you enter, you're greeted not by a reception desk but by a spacious common room with a large circular fireplace at its heart. Comfortable seating is arranged in rough circles throughout the space, with some chairs pulled close together for conversation and others positioned to offer moments of solitude. Built-in window seats, carefully designed and well-cushioned, line the large windows that look out onto the street and the inner courtyard.
The courtyard is visible through wide glass doors that can be fully opened in pleasant weather, creating a seamless indoor-outdoor space. This courtyard features garden beds tended by residents, a small fountain providing gentle background noise, and several sitting areas positioned to catch sun or shade depending on the season. Paths cross the courtyard, naturally drawing people through the space as they move between different parts of the building.
Covered arcades circle the courtyard, providing sheltered walkways to the different wings of the building. These arcades are lined with built-in benches and alcoves where residents can sit alone or in pairs, reading or chatting quietly outside the flow of foot traffic.
The dining area sits at the true heart of Harbor House, with a collection of heavy wooden tables of different sizes. A large communal table occupies the center under a warm pendant light, while smaller tables occupy the periphery. A long, family-style kitchen opens to the dining area, where residents take turns preparing communal meals. The evening meal is a particular highlight, with residents gathering to share food and stories.
Instead of institutional dormitories, sleeping areas are arranged in "neighborhoods" of 6-8 people. Each neighborhood has a small common area with comfortable seating around a low table, and bed alcoves radiate from this space. Each alcove is partially enclosed, offering privacy without isolation, and contains a comfortable bed, a small desk, shelves for personal belongings, and a curtain that can be drawn for additional privacy. Some neighborhoods have traditional bed alcoves, while others feature sleeping platforms or lofted spaces, offering variety and choice to residents.
For those needing more privacy, a wing of small individual rooms accommodates up to 10 people, usually those staying longer-term or transitioning to independent housing.
Throughout Harbor House, various alcoves and nooks create opportunities for different activities. A library corner with built-in bookcases and comfortable seating provides a quiet retreat. A workshop space allows for creative projects and skill-building. Small meeting rooms offer private spaces for residents to meet with social workers or housing counselors.
The building accommodates approximately 40 residents at a time, keeping the community small enough that everyone can know each other by name. Residents pay a nominal fee based on their means, contributing to the sense that this is their temporary home rather than a charity service.
Every element of Harbor House is designed to foster community while respecting individual dignity, creating a place where people can find not just shelter, but stability, connection, and a foundation from which to rebuild their lives.

View file

@ -0,0 +1,163 @@
A Pattern Language adapted to Harbor House
This is a companion to A Pattern Language by Christopher Alexander, Sara
Ishikawa and Murray Silverstein. You need to be familiar with the book, or have it
to hand, as this is only a list of pattern names with summaries.
91 TRAVELER'S INN *
Problem: Travelers staying in unfamiliar places remain part of the human
community and need social connection. There's no reason they should be isolated
in solitary rooms watching television, as typically happens in roadside motels.
Solution: Design traveler's inns that provide overnight accommodation while
drawing vitality from the community of guests present each evening. Keep the
scale intimate—about 30 to 40 guests per inn. Offer communal meals and include
a spacious area surrounded by beds in alcoves, encouraging interaction rather
than isolation.
94 SLEEPING IN PUBLIC
Problem: A public space—whether park, lobby, or porch—demonstrates its
success when visitors feel comfortable enough to fall asleep there.
Solution: Provide abundant benches, comfortable nooks, and corners where
people can sit on the ground or recline comfortably in sand. Create these spaces
with relative shelter from main circulation paths, perhaps elevated slightly, with
seating and grassy areas where people can relax with a newspaper and naturally
drift into a nap.
115 COURTYARDS WHICH LIVE **
Problem: Contemporary building courtyards often remain unused and lifeless.
Though intended to function as private open spaces for people's enjoyment, they
frequently end up abandoned, filled with gravel and abstract art installations
rather than human activity.
Solution: Position each courtyard to provide a view of a larger open area beyond.
Ensure that at least two or three doorways open from the building directly into
the courtyard, with natural pathways between these doors crossing through the
courtyard space. Along one edge, adjacent to a doorway, construct a roofed
veranda or porch that seamlessly connects both the interior and the courtyard.
119 ARCADES **
Problem: Arcades—covered walkways at building edges that exist partially
indoors and partially outdoors—serve a crucial function in facilitating human
interactions with buildings.
Solution: Construct arcades wherever paths run alongside buildings. Utilize these
arcades primarily to connect buildings to one another, enabling pedestrians to
move from place to place under the protection of these covered passages.
129 COMMON AREAS AT THE HEART **
Problem: Social groups - whether families, work teams, or school communities -
cannot thrive without regular informal interactions among members.
Solution: Establish a single shared space for each social group. Position it at the
center of gravity of all spaces the group uses, and arrange it so that paths entering
and exiting the building run tangentially to this central area.
147 COMMUNAL EATING *
Problem: No human community can maintain cohesion without shared meals.
Solution: Establish a dedicated space for communal dining in every institution
and social group. Make shared meals a regular ritual. Specifically, implement a
communal lunch in every workplace—a genuine meal around a shared table (not
from containers, vending machines, or bags)—as an important, comfortable daily
event with accommodation for guests. In our Center work group, we found the
most beautiful arrangement was taking turns cooking lunch. The meal became an
event: a gathering that each member invested with love and energy on their day
to prepare.
150 A PLACE TO WAIT *
Problem: Waiting inherently contains conflicting psychological demands.
Solution: Transform waiting areas (bus stops, appointment lobbies, airport gates)
into positive experiences by blending waiting with engaging activities—
newspapers, coffee, games—that attract even non-waiting visitors. Alternatively,
design spaces that guide those waiting into peaceful contemplation through
quietude and positive silence.
165 OPENING TO THE STREET *
Problem: Witnessing activity motivates action. When people can view into spaces
from the street, their world expands and becomes more enriched, fostering
greater understanding and creating opportunities for communication and
learning.
Solution: For any public space that relies on street exposure for its success, open
it up with a fully opening wall that can be thrown wide open. If possible, extend
part of the activity across the pedestrian path so it straddles the walkway,
allowing pedestrians to walk through the activity as they move along the path.
There are dozens of ways to build such an opening. For example, a wall can be
made very cheaply with a simple plywood hanging shutter sliding on an overhead
rail, which can be removed to open up completely, and locked in place at night.
179 ALCOVES **
Problem: A uniform room with consistent height cannot adequately serve a
group. To foster togetherness, a space must simultaneously offer opportunities for
solitude, allowing individuals or pairs to find privacy within the shared area.
Solution: Create compact spaces along the perimeter of any common room,
typically no wider than 6 feet and between 3 to 6 feet in depth, though potentially
smaller. These alcoves should accommodate two people for conversation or
activities, and occasionally be large enough to fit a desk or table.
182 EATING ATMOSPHERE
Problem: When dining together, people may be genuinely connected in spirit or
emotionally distant. Some spaces encourage leisurely, comfortable eating and
togetherness, while others prompt quick meals followed by retreating elsewhere
for relaxation.
Solution: Position a substantial table in the eating area's center, sized
appropriately for the entire family or group. Install lighting directly above to
create a focused pool of light, and define the space with walls or contrasting
darkness. Ensure the area is spacious enough for comfortable chair movement,
and incorporate nearby shelves and counters for dining-related items.
185 SITTING CIRCLE *
Problem: Seating arrangements—whether chairs grouped together, a sofa with a
chair, or cushions arranged on the floor—are fundamental elements of our daily
environments. Yet creating configurations that foster animation and vitality
rather than sterility is remarkably nuanced. Most arrangements remain unused,
with people avoiding them and no activity occurring there. Others seem to
naturally gather and energize life around them. What distinguishes these two
outcomes?
Solution: Position each sitting space in a protected location, away from
thoroughfares and movement, with a roughly circular arrangement. Design the
room to subtly suggest this circular formation—not too rigidly—with paths and
activities surrounding it to naturally draw people toward the seating when they
feel inclined to sit. Arrange chairs and cushions in a loose circle, providing slightly
more seating than necessary.
186 COMMUNAL SLEEPING
Problem: Sleep is practiced as a communal activity in many traditional societies,
without the sexual connotations prevalent in contemporary Western culture. We
believe this may serve a vital social function, potentially as fundamental and
necessary to human well-being as communal eating.
Solution: Design sleeping areas that allow children and adults to occasionally
share the same space, within sight and sound of one another, as an alternative to
their usual sleeping arrangements.
This can be done in the common area near the fireplace, where the entire
household and guests can sleep together - one large mat and some blankets in an
alcove. It is also possible to build bed alcoves for overnight guests, in an extended
couple's realm.
188 BED ALCOVE **
Problem: The concept of bedrooms as we know them lacks coherent purpose and
function.
Solution: When constructing a compact dwelling around 300-400 square feet—
perhaps with plans for future expansion—this pattern becomes crucial. In such
cases, placing the alcoves adjacent to the family room will likely be most effective.
202 BUILT-IN SEATS *
Problem: Built-in seating offers comfort and luxury to buildings, but frequently
fails in practice. Common issues include improper placement, insufficient width,
incorrect back angle, poor viewing position, or uncomfortable hardness. This
pattern provides guidance for creating truly functional built-in seats.
Solution: Test the location before construction by placing an existing armchair or
sofa in your intended position. Adjust it until you find an optimal spot. Leave it
there for several days to verify you genuinely enjoy sitting there. If you find
yourself naturally gravitating to sit in it, you've found the right location. Then
construct your built-in seat with identical width and cushioning to ensure its
success.
241 SEAT SPOTS **
Problem: Outdoor seating placed without consideration for views and climate
conditions typically goes unused.
Solution: The location of outdoor seats matters far more than their design. When
the spot is well-chosen, even the simplest bench works perfectly.
For cooler climates, position seats to capture sunlight and shield from wind; in
warmer areas, place them in shaded locations with access to summer breezes. In
all situations, orient seats to provide views of ongoing activities.
242 FRONT DOOR BENCH *
Problem: People enjoy observing street activities.
Solution: Install a comfortable bench outside the front entrance where household
members can sit comfortably for extended periods and observe passersby.
Position the bench to establish a semi-private area in front of the home. Elements
such as a low wall, plantings, or a tree can help define this transitional space.