# PFES-ENG-042 — Repository Architecture

**Status:** Four canonical Git authorities active; project-admission gate active  
**Knowledge Cycle Stages:** Preserve, Apply

## Active authorities

| Repository | Canonical main at PFES v0.15.5 admission baseline | Role |
|---|---|---|
| `pfes` | `e662abcb085808fc102f8f00fc67b45d66e39cbe` | specification, evidence status, decisions, and history |
| `xbox-dvd-tools` | `52c419749b86dcd3583546a331d1fdc2c4b64ba0` | analyzer chain and maintained host/hardware tools |
| `mn103s-emulator` | `c40ecc670b8a470c948022b8a3d820cebc7bbd23` | maintained emulator core, bridge, tests, and proof tools |
| `friidump` | `8972240b0bb13e52c39c651cb66bac8e56b7eb57` | maintained dumping application and drive profiles |

Canonical locations:

```text
/srv/project-frankenstein/repos/pfes.git
/srv/project-frankenstein/repos/xbox-dvd-tools.git
/srv/project-frankenstein/repos/mn103s-emulator.git
/srv/project-frankenstein/repos/friidump.git
```

## Repository boundaries

- `pfes` — engineering memory, evidence registers, contracts, and authority;
- `xbox-dvd-tools` — maintained analyzer and host/hardware implementation;
- `mn103s-emulator` — maintained emulator source, tests, profiles, small
  fixtures, and current documentation;
- `friidump` — maintained FriiDump application, drive profiles, tests, and
  documentation;
- future research repository or immutable research snapshots — probes,
  hunters, exploratory RE programs, and model-specific experimental datasets;
- external artifact store — firmware, media, generated trees, traces, evolving
  incubation packages, and large result archives.

Scope follows engineering responsibility and lifecycle, not file size alone.

## Project admission precedes repository admission

A project does not need a repository to be recognized by PFES. Incubating
projects are governed by PFES-ENG-045 and the project register. A new canonical
repository is admitted only after its source boundary and validation baseline
are stable.

The MN103S Optical-Drive IDE Recovery Programmer is currently an incubating
project. Its eventual dedicated repository is expected but explicitly deferred.

## PFES release law

Each accepted PFES release requires:

1. a child commit on canonical `main`;
2. an annotated `pfes-v*` tag;
3. the exact cumulative release ZIP;
4. recorded ZIP and manifest SHA-256 values;
5. repository, tag, tree, and clean-clone validation.

A working tree, copied ZIP, draft branch, or untagged commit is not authoritative.

## Repository authority law

A bare repository or pushed branch is not authority. New authority requires
boundary review, verified candidate, staging, promotion, authority marker,
recovery bundle, Gitweb/documentation-surface verification, and final report
acceptance.

## Storage limitation

The server remains a one-HDD interim system. Repositories, release ZIPs, and
recovery bundles on that disk are not independent backups.
