Point Of View (pattern)
## Pov baseline - `BaselineOfPov` bootstraps the Pov package set. Keep changes focused on the Tonel sources inside `src/BaselineOfPov/` and `src/Pov/`. - The repository follows the workspace rule set described in `AGENTS.md`, so consult that file before adding tooling, docs, or automation. ## Installation Load the baseline from a Pharo image with the usual snippet: ```st Metacello new repository: ''; baseline: 'Pov'; load ``` If you introduce additional Monticello repositories or packages, update this README and the Tonel package definitions accordingly. ## Development - Use `pharo` or `gtoolkit` to edit the packages in `src/`; Tonel keeps the files in sync with the image. - Keep helper scripts in a dedicated `tools/` directory so future agents can find them. - Before committing workflow changes, capture them first in the FedWiki (`~/.wiki/wiki.ralfbarkow.ch/pages/`), then mirror the content into Lepiter per the workspace policy. - There are no automated tests yet; validate changes by loading the baseline and exercising the intended functionality inside Pharo. Document any stability checks or manual procedures in `docs/` or this README. ## FedWiki mirroring workflow - Use the GT example `PovFedWikiMirror class >> gtPharoCodeEmitterPointOfViewComparison` to compare the JSON generated from `lepiter/pharo-code-emitter-point-of-view.lepiter` against the on-disk FedWiki file before writing anything. - Run the accompanying SUnit `PovFedWikiMirrorTest>>testPharoCodeEmitterPointOfViewJsonMatchesFedWiki` to guard against accidental divergences when editing either source. - Only after those checks pass should you run the Lepiter sync snippet to overwrite `~/.wiki/wiki.ralfbarkow.ch/pages/pharo-code-emitter-point-of-view`. ## Directory layout - `src/` – Tonel packages. `BaselineOfPov` defines dependencies for `Pov`. - `AGENTS.md` – this rule-set summary for the repo. Keep it aligned with updates you make to the workflow.