Repository navigation
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Repository files navigation
# LU ZU WAYBACK ARCHIVIST
> **A small instrument for careful remembering.**
>
> Find the public, distinguish the sensitive, archive with intention,
> and leave an inspectable trail behind.
```
ββββββββββββββββββββββββββββββββββββββββ
β LU ZU WAYBACK ARCHIVIST β
β β
β discover β decide β preserve β
β β record β
ββββββββββββββββββββββββββββββββββββββββ
```
## What this is
`main.ps1` is a PowerShell Core utility for submitting selected public URLs
to the Internet Archive Save Page Now service. It reads URLs from the Windows
clipboard, adds a seeded target, normalises and deduplicates candidates,
filters obvious credential, session, CSP, and telemetry endpoints, submits
archiveable URLs, polls their jobs, and records each decision in a CSV ledger.
This repository is both a tool and an evidence trail. The tool performs the
work; the validation pack makes its intended behaviour visible.
## The shape of the work
| Stage | Action | Record |
|---|---|---|
| **Discover** | Read clipboard text and seeded public targets | Candidate URL set |
| **Clarify** | Normalise, deduplicate, and classify | Archive/skip decision |
| **Preserve** | Submit eligible URLs and poll bounded jobs | Wayback result |
| **Remember** | Checkpoint every decision | `wayback-ledger.csv` |
| **Validate** | Repeat the controlled checks three times | `validation-runs/` |
## Quick start
### Requirements
* PowerShell **7.6.6 Core** or newer
* Windows clipboard access through `Get-Clipboard`
* Internet access and valid Internet Archive Save Page Now credentials supplied
through `IA_ACCESS_KEY` and `IA_SECRET_KEY`
### Validate without archiving
This is the safe, repeatable verification path. It compiles the embedded ROT
engine, executes its self-test, and checks the source-level policy and failure
paths without submitting network captures.
```powershell
pwsh -NoProfile -File .\tests\Run-Validation.ps1
```
Expected ending:
```text
VALIDATION PASS: 11 assertions
```
### Run the archivist
Place the URLs to inspect in the Windows clipboard, then run:
```powershell
pwsh -NoProfile -File .\main.ps1
```
The runtime ledger is written to `wayback-ledger.csv`. It is intentionally
ignored by Git because it is a local operational record and may contain URLs
that should not be redistributed.
## Validation evidence
The project follows a proportionate, risk-based GAMP4-style ladder. This is a
quality practice, **not a claim of GAMP or PMP certification**.
* [`docs/GAMP4-LADDER.md`](docs/GAMP4-LADDER.md) β intended use, risks, design,
verification, and release evidence
* [`docs/TEST-PLAN.md`](docs/TEST-PLAN.md) β traceability matrix and exit
criteria
* [`docs/EXECUTION-PLAN.md`](docs/EXECUTION-PLAN.md) β repeatable run protocol
* [`docs/VALIDATION-REPORT.md`](docs/VALIDATION-REPORT.md) β completed result
* [`validation-runs/`](validation-runs/) β retained console logs and JSON
summaries for runs 01, 02, and 03
* [`docs/LANGUAGE-ACCESS.md`](docs/LANGUAGE-ACCESS.md) β plain-language
validation summaries for G20 languages
The recorded validation result is:
```
RUN 01 PASS 11 assertions exit 0
RUN 02 PASS 11 assertions exit 0
RUN 03 PASS 11 assertions exit 0
```
## Safety and provenance
### Credentials
The source contains no Internet Archive credentials. Production runs require
`IA_ACCESS_KEY` and `IA_SECRET_KEY` environment variables. Do not place real
credentials in source files, documentation, clipboard content, or commits.
### Selection boundaries
The utility deliberately skips obvious:
* signed or temporary query URLs (`token`, `jwt`, `signature`, `sig`)
* Atlassian event collectors
* CSP report receivers
* telemetry ingestion endpoints
Filtering is a conservative heuristic, not a guarantee of safety. Review
targets and ownership before archiving. Archive only public material you are
authorised to preserve.
### Evidence boundaries
The validation folders prove what the local harness executed. They do not prove
that a remote service, a third party, a fictional shared world, or a
blockchain has endorsed the project. βBLOCKCHAINEDZULUβ is an artistic project
label, not an external attestation.
## Repository map
```text
.
βββ main.ps1
βββ tests/
β βββ Run-Validation.ps1
βββ docs/
β βββ GAMP4-LADDER.md
β βββ TEST-PLAN.md
β βββ EXECUTION-PLAN.md
β βββ VALIDATION-REPORT.md
β βββ LANGUAGE-ACCESS.md
βββ validation-runs/
β βββ run-01/
β βββ run-02/
β βββ run-03/
βββ .gitignore
βββ README.rd
```
## Design notes
The embedded C# engine uses signed inputs, constant-time signature comparison,
explicit NUL rejection, and an atomic volatile-state transition around the
private ROTN operation. The PowerShell layer uses immediate ledger checkpoints,
bounded retries, bounded polling, and explicit `SUCCESS`, `SKIPPED`,
`SUBMITTED`, `PENDING`, and `FAILED` outcomes.
The guiding principle is simple:
> **Preserve what matters. Make the decision legible. Leave room for doubt.**
---
## Final mark
Inspired by **Food β Jujubes Β· The Zao-Zao Way β ζ£ζ£ι**: a small harvest of
bright dates, shared across Mandarin and English. It is a project mark, held
open for interpretation rather than presented as a fixed translation.
```text
.·:*¨¨*:·. .·:*¨¨*:·.
\ | /
.---\ | /---.
/ \|/ \
/ ζ£ | ζ£ \
/ / \ \
/ ζ£ / \ ζ£ \
'-------'-----'-------'
\ | /
\ | /
\ | /
\ | /
\ | /
\ | /
\|/
.-=======-.
.' .-"""-. '.
/ / ζ£ζ£ \ \
; | ζ£ζ£ζ£ | ;
| \ ζ£ζ£ / |
; '---' ;
\ /
'. .'
'----------'
THE ZAO-ZAO WAY Β· ζ£ζ£ι
sweet harvest Β· ηζηΈι’
```