You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
│ └── sync-to-public.sh # Sync generic improvements from a private fork to this repo
165
164
├── CLAUDE.md # Harness operating model — loaded automatically by Claude Code
166
165
├── AGENTS.md # Team roster, authorities, gates, governance matrix
167
166
└── README.md
@@ -267,38 +266,6 @@ This is the only source of sprint truth. Specs, ADRs, and PM summaries continue
267
266
268
267
---
269
268
270
-
## Syncing with `molt-and-deploy-harness`
271
-
272
-
This public repo is downstream of an internal private harness called `molt-and-deploy-harness`. Generic improvements (new agents, commands, patterns) are pushed downstream with `scripts/sync-to-public.sh`, which scrubs PII and refuses to copy client-specific material.
273
-
274
-
```bash
275
-
# Dry run first — shows what would change, makes no edits
276
-
scripts/sync-to-public.sh \
277
-
--source /path/to/molt-and-deploy-harness \
278
-
--target /path/to/freelance-developer-harness \
279
-
--dry-run
280
-
281
-
# Real sync — creates branch sync/from-molt-<date> in TARGET and stages a PR
282
-
scripts/sync-to-public.sh \
283
-
--source /path/to/molt-and-deploy-harness \
284
-
--target /path/to/freelance-developer-harness
285
-
```
286
-
287
-
Hard rules enforced by the script:
288
-
289
-
-`SOURCE` is never modified
290
-
-`TARGET` writes happen on a fresh branch (`sync/from-molt-<date>`)
291
-
- Blocklist beats allowlist — client-specific paths (`clients/<real-client>/`, session files, secrets) are never copied even if matched by an allowlist rule
292
-
- A `sed` scrubber replaces hardcoded paths with `$SOURCE_ROOT_BASE/` placeholders
293
-
- The `Active Clients` table in `CLAUDE.md` is reset to the single template row
294
-
- A PII guard runs in CI on every PR — if PII slips through, the PR fails
0 commit comments