Issue 1703 (note 18): mesh-build-image's build of photos' admin-client image failed on shanks (15:54) and ace (21:19) at COPY admin-client/package.json with copier: stat "/admin-client/package.json": no such file or directory. The build context was the Dockerfile's own directory; photos' three Dockerfiles (server/, client/, admin-client/) are written for the module's root, as the SDK's Artifact.From and the image fingerprint read it.
mesh-build-image now gives buildah the module's own directory as the context and the Dockerfile with --file. A Dockerfile at its module's root (n8n, link2pay) builds as before; the context never leaves the module (ADR 0487 §2 unchanged). ADR 0487 §1 corrected by a progressive insight, accepted on the operator's Approve 21:29.
Quick fix: move photos' Dockerfiles to its root (changes the operator's photos repository, leaves the trap). Thorough fix (chosen): one rule in the build module for every image module.
Photos is held for the operator's yes (policy record set 21:36 on the operator's word), so its first new images wait for them.
No try: this pull request's check is its only run.
Issue 1703 (note 18): mesh-build-image's build of photos' admin-client image failed on shanks (15:54) and ace (21:19) at `COPY admin-client/package.json` with copier: stat "/admin-client/package.json": no such file or directory. The build context was the Dockerfile's own directory; photos' three Dockerfiles (server/, client/, admin-client/) are written for the module's root, as the SDK's Artifact.From and the image fingerprint read it.
mesh-build-image now gives buildah the module's own directory as the context and the Dockerfile with --file. A Dockerfile at its module's root (n8n, link2pay) builds as before; the context never leaves the module (ADR 0487 §2 unchanged). ADR 0487 §1 corrected by a progressive insight, accepted on the operator's Approve 21:29.
Quick fix: move photos' Dockerfiles to its root (changes the operator's photos repository, leaves the trap). Thorough fix (chosen): one rule in the build module for every image module.
Photos is held for the operator's yes (policy record set 21:36 on the operator's word), so its first new images wait for them.
No try: this pull request's check is its only run.
Reviewed-by: review-img@shanks at dcf32576a88071eadf7f7f13f37f62d7bfc0dc01
photos' admin-client, client and server Dockerfiles live in subdirectories and copy
paths from the module's root (admin-client/..., client-server/serve.mjs), as build-agent
built them and as the fingerprint reads the module's whole directory. Taking the
Dockerfile's own directory as context failed every such COPY with copier: stat
"/admin-client/package.json": no such file or directory, on shanks and on ace.
Quick fix (rejected): move photos' Dockerfiles to its repository root; it changes the
operator's photo application and leaves the trap for the next module.
Thorough fix (chosen): one context for every image, the module's directory; it never
leaves that directory, so the isolation of ADR 0487 section 2 holds.
Deliverynovox/mesh-catalog@dcf32576a880 — merged since 2026-10-26T20:36:12Z
Source — source.main moved to novox/mesh-catalog@eba4bab00a. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-26 20:35 (new) → proposed (announced): novox/mesh-catalog#512's head announced
2026-10-26 20:35 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-10-26 20:36 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@dcf32576a880` — **merged** since 2026-10-26T20:36:12Z
**Source** — source.main moved to novox/mesh-catalog@eba4bab00aa7. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-26 20:35 (new) → proposed (announced): novox/mesh-catalog#512's head announced
- 2026-10-26 20:35 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-10-26 20:36 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Issue 1703 (note 18): mesh-build-image's build of photos' admin-client image failed on shanks (15:54) and ace (21:19) at
COPY admin-client/package.jsonwith copier: stat "/admin-client/package.json": no such file or directory. The build context was the Dockerfile's own directory; photos' three Dockerfiles (server/, client/, admin-client/) are written for the module's root, as the SDK's Artifact.From and the image fingerprint read it.mesh-build-image now gives buildah the module's own directory as the context and the Dockerfile with --file. A Dockerfile at its module's root (n8n, link2pay) builds as before; the context never leaves the module (ADR 0487 §2 unchanged). ADR 0487 §1 corrected by a progressive insight, accepted on the operator's Approve 21:29.
Quick fix: move photos' Dockerfiles to its root (changes the operator's photos repository, leaves the trap). Thorough fix (chosen): one rule in the build module for every image module.
Photos is held for the operator's yes (policy record set 21:36 on the operator's word), so its first new images wait for them.
No try: this pull request's check is its only run.
Reviewed-by: review-img@shanks at
dcf32576a8Delivery
novox/mesh-catalog@dcf32576a880— merged since 2026-10-26T20:36:12ZSource — source.main moved to novox/mesh-catalog@eba4bab00a. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.