Engagement layout template¶
This is the layout each engagement repository fills. It is a template only: no engagement is ever added to this repository, real or fictional (C-5).
Where an engagement lives¶
Every engagement, real or fictional, lives in its own repository, cut
from a tagged release of rosetta-deploy, with this repository as its
upstream remote (DT-RX-038 Q-C-bis-3):
- Real customers: a private repository on GitSoma, inside the
Salesforce boundary. Never in the
vernonkeenanGitHub org. - Simulations and fictional customers: a private repository in the
vernonkeenanorg, set up the same way.
To start one:
- Create an empty private repository. Clone this repository at a
release tag, rename its remote to
upstream, add the new repository asorigin, and push. - Copy
customer/_template/tocustomer/<customer>/in the new repository and fill it there. A simulation says incustomer/<customer>/README.mdthat it is fictional. - Change nothing outside
customer/<customer>/. Then merging the next tag fromupstreamconflicts with nothing, and the library's generated folders stay as Rosetta wrote them (C-1).
CI in an engagement repository¶
The repository inherits the library's CI (.github/workflows/ci.yml).
Where its host runs GitHub Actions, set two things before the first pull
request, under Settings > Secrets and variables > Actions:
- The repository variable
CUSTOMER_SCAN_ENGAGEMENT: the folder name, such asnorthwind-tradersforcustomer/northwind-traders/. Without it, thecustomer-scanjob takes the repository for the library and refuses the folder. - The repository secret
CUSTOMER_DENYLIST: the customer's own names and its people's names, one per line. They may appear insidecustomer/<customer>/and nowhere else,contributions/included. Without the secret,customer-scanfails. A simulation that the library itself names, such as Northwind Traders, leaves that name off, or merging the next tag fromupstreamfails.
Email addresses, phone numbers and other personal data still fail
inside the folder. Use example.com addresses and 555 numbers, or leave
them out.
The layout¶
| Folder | Holds, in the engagement repository |
|---|---|
project-docs/ |
The engagement's working documents: dossier, notes, requirements |
archaeology/ |
The engagement twin (twin.json) and the archaeology run's notes, written by the archaeology deploy edition; the CP/ and ADR/ drafts are generated from the twin |
deliverables/ |
What is delivered to <customer>: the Solution Thesis, and any SOW or Spec Manifest Rosetta compiles for it |
ADR/ |
The engagement's own ADRs, as drafts that cite library ids |
CP/ |
The engagement's own context patterns, as drafts that cite library ids |
background/ |
What the team knows about <customer>: business, goals, landscape, constraints |
terminology/ |
<customer>'s own terms and acronyms, mapped to the library's |
Each folder holds a README.md placeholder that says what goes in it.
Engagement files cite the library by id and release, such as
cp-g-014 at v0.1.0, and never copy library files.
In this repository¶
Only customer/_template/ lives under customer/. A pull request that
adds any other folder under customer/, or any customer name or data
anywhere, is refused (C-5).
This page as Markdown — for pasting into Claude or another assistant · llms.txt