Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
4a93d6d
brand: initialize Svif identity process log
mattamior Sep 1, 2026
aa22d17
brand: record selected identity direction
mattamior Sep 2, 2026
e1bfd99
brand: record candidate identity decision evidence
mattamior Sep 2, 2026
d3abc8f
brand: add Svif master candidate v0.1
mattamior Sep 2, 2026
64c329c
brand: add Svif small-size candidate v0.1
mattamior Sep 2, 2026
7dcf26e
brand: document Svif master candidate v0.1
mattamior Sep 2, 2026
21aa0d9
brand: record Svif master v0.1 candidate evidence
mattamior Sep 2, 2026
d5746c7
brand: update Svif process log for master v0.1
mattamior Sep 2, 2026
504ff50
brand: remove rejected deterministic master spec
mattamior Sep 2, 2026
529ccb8
brand: remove rejected Svif vector reconstruction
mattamior Sep 2, 2026
bd4d140
brand: remove rejected Svif small-size reconstruction
mattamior Sep 2, 2026
e72bfe4
brand: remove rejected Svif master candidate evidence
mattamior Sep 2, 2026
b01203c
brand: lock approved 10:42 visual reference
mattamior Sep 2, 2026
2d5c80f
brand: record final Svif visual lock
mattamior Sep 2, 2026
31b854c
brand: record Svif visual lock candidate evidence
mattamior Sep 2, 2026
b49ed24
checkpoint: save locked Svif brand state
mattamior Sep 2, 2026
7f1ec5d
brand: record locked Svif raster extraction manifest
mattamior Sep 2, 2026
a78bc4b
brand: establish Svif faithful production gate
mattamior Sep 2, 2026
3e905b6
brand: finalize Svif extraction crops and hashes
mattamior Sep 2, 2026
53c045b
brand: add faithful Svif wordmark trace candidate
mattamior Sep 2, 2026
d3460ac
brand: correct Svif wordmark trace to approved raster-derived candidate
mattamior Sep 2, 2026
0773b45
brand: improve Svif wordmark trace fidelity
mattamior Sep 2, 2026
90529b3
brand: record Svif vectorization gate and candidate status
mattamior Sep 2, 2026
c60034d
agnir: record Svif vectorization candidate evidence
mattamior Sep 2, 2026
7916e4a
brand: preserve Svif wordmark curvature with dense trace
mattamior Sep 2, 2026
e03505d
brand: add faithful raster derivation tool
mattamior Sep 2, 2026
7c1b683
brand: record Svif raster derivation path and QA
mattamior Sep 2, 2026
5b62dcc
brand: record rejected Svif layered vector experiments
mattamior Sep 2, 2026
1eaada8
brand: record Svif constrained-vector next strategy
mattamior Sep 2, 2026
a3af9f1
brand: temporary sync probe
mattamior Sep 2, 2026
0b2804c
brand: sync identity branch with latest main
mattamior Sep 2, 2026
db18d1c
brand: record Svif ribbon topology vectorization finding
mattamior Sep 2, 2026
6432701
brand: add fidelity-first Svif production asset builder
mattamior Sep 2, 2026
6bf7d38
brand: switch Svif delivery to fidelity-first raster masters
mattamior Sep 2, 2026
81448e2
brand: record Svif raster master hashes
mattamior Sep 2, 2026
0ede39e
brand: record Svif fidelity-first raster production decision
mattamior Sep 2, 2026
2acb965
brand: add Svif production handoff
mattamior Sep 2, 2026
ef9c198
brand: materialize verified small-size Svif favicon PNGs
mattamior Sep 2, 2026
be17e3d
brand: document Svif materialized exports
mattamior Sep 2, 2026
6d6e96c
brand: record verified Svif binary materialization boundary
mattamior Sep 2, 2026
b69a4df
brand: record Svif production QA and verified binary exports
mattamior Sep 2, 2026
dbade5e
brand: update Svif production handoff after final QA
mattamior Sep 2, 2026
2c1900c
brand: record Svif production candidate evidence
mattamior Sep 2, 2026
c071cf0
brand: record complete 13-item Svif final QA
mattamior Sep 2, 2026
6c8c73f
brand: add Svif brand directory guide
mattamior Sep 2, 2026
f2740c1
brand: update Svif status after complete symmetric QA
mattamior Sep 2, 2026
34b272c
brand: add brand system to Svif repository tree
mattamior Sep 2, 2026
b2a6013
ci: add one-off brand README tree sync
mattamior Sep 3, 2026
1745e64
docs: add brand surface to repository trees [skip ci]
github-actions[bot] Sep 3, 2026
9829979
ci: remove one-off brand README tree sync
mattamior Sep 3, 2026
bae6088
ci: validate brand integration candidate
mattamior Sep 3, 2026
505bedc
ci: fix brand validation import path
mattamior Sep 3, 2026
655ce43
ci: remove one-off brand validation workflow
mattamior Sep 3, 2026
c2c4a9c
brand: record integration validation and binary boundary
mattamior Sep 3, 2026
9f39afb
brand: narrow Svif integration gate to large binaries
mattamior Sep 3, 2026
f48b102
Add files via upload
mattamior Sep 3, 2026
6076dd0
Merge latest main into brand identity branch
mattamior Sep 3, 2026
9726a22
ci: materialize byte-exact brand binaries
mattamior Sep 3, 2026
1373073
brand: materialize byte-exact production binaries [skip ci]
github-actions[bot] Sep 3, 2026
05de8a1
brand: close byte-exact binary integration gate
mattamior Sep 3, 2026
3fc1e2b
brand: record Agnir v1 compatibility boundary
mattamior Sep 6, 2026
b872c16
brand: align handoff with Svif Agnir 0.2 binding
mattamior Sep 6, 2026
62e9aac
brand: record final integration readiness
mattamior Sep 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .agnir/evidence/2026-09-02-brand-checkpoint.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Svif brand checkpoint — 2026-09-02

Status: **branch-local Agnir checkpoint on `brand/identity-system`; authoritative Project ref remains `main` until integration**.

## Current state

- Brand exploration is closed for now.
- Principal selected and locked the visual system represented by the three reference boards attached in the 2026-09-02 conversation at the point referred to as **Today, 10:42 AM**.
- Svif is the **Motion Layer / 流动层** identity: teal/turquoise, flowing S mark, particle/motion language.
- Agnir remains the related but independent **Structure Layer / 结构层** identity: sand/warm-mineral particle A.
- Single-brand use follows the corresponding single-brand reference board; co-brand/family use follows the joint Svif × Agnir asset-system board.
- The later deterministic `v0.1` SVG reconstruction and small-size candidates were explicitly rejected by the Principal and have been removed from the active brand branch. They remain only in Git history and must not be treated as approved assets.

## Approved reference contract

- `brand/APPROVED-VISUAL-REFERENCE.md` is the branch-local durable locator for the locked visual reference.
- `brand/brand-process-log.md` records the design history and approval trail.
- `.agnir/evidence/2026-09-02-brand-visual-lock-candidate.md` records the durable visual-lock decision for future reconciliation into canonical `main` continuity.

## Next actions

1. Do not reopen concept exploration unless the Principal explicitly requests it.
2. Any future production assets must be extracted/reconstructed faithfully from the locked 10:42 reference boards; do not reinterpret, optimize, redraw, or substitute typography/geometry.
3. Before merging brand work, re-resolve the latest `main`, reconcile the locked brand decision into canonical Agnir Decisions/State/Next Actions as materially appropriate, and integrate without overwriting newer Project truth.
4. Keep `main` untouched until that explicit integration step.

## Checkpoint receipt

This file is the explicit branch-local checkpoint receipt for the current Svif brand-work state.
49 changes: 49 additions & 0 deletions .agnir/evidence/2026-09-02-brand-identity-direction-candidate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Svif brand identity direction candidate — 2026-09-02

## Status

This record is **branch-local candidate continuity** for `brand/identity-system`. It is not canonical Project truth until reconciled against the latest authoritative `main` and integrated there. `AGNIR.yaml` continues to declare `main` as the authoritative ref.

## Approved direction-level decisions

The Principal selected a synthesis of the following explored directions:

- **01 — Particle + Motion**;
- **03 — S / A Geometry**;
- **05 — Flow & Structure**.

For Svif, the selected family direction is:

- role metaphor: **Motion Layer**;
- primary mark concept: flowing **S-shaped motion form**;
- supporting visual language: particle trajectories / suspension around the S;
- brand-family relationship: shared particle-and-geometry grammar with Agnir while remaining independently recognizable;
- palette direction: **teal / turquoise family**;
- Agnir counterpart: **Structure Layer** using a sand / warm-mineral palette.

## What is not approved yet

The current generated brand boards are concept/refinement evidence only and are **not production masters**. The following remain open:

- exact SVG/Bézier geometry;
- exact particle count, positions, scale progression and spacing;
- construction grid and clear-space rules;
- exact HEX/RGB palette values;
- monochrome, reverse and dark-background rules;
- final wordmark typeface/custom lettering and licensing;
- mark/wordmark lockup proportions;
- small-size simplification, if required after 16/32/64 px testing.

## Production-master gate

The next stage is deterministic vector reconstruction and rendered QA. A generated preview must not be silently converted into an approved master. Production master approval requires an editable vector source plus explicit review of geometry, palette, lockups and small-size behavior.

## Integration rule

Detailed exploration remains in `brand/brand-process-log.md`. This candidate evidence may travel with the branch. Before integration:

1. resolve the latest `main` Agnir continuity;
2. reconcile only material approved brand truth into canonical Decisions/State/Next Actions where appropriate;
3. integrate approved production assets and continuity as one coherent candidate when possible;
4. verify the authoritative `main` after publication;
5. remove the temporary brand branch after successful integration according to branch governance.
87 changes: 87 additions & 0 deletions .agnir/evidence/2026-09-02-brand-production-candidate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Svif brand production candidate — 2026-09-02

Status: **branch-local evidence; not canonical until reconciled and integrated into authoritative `main`.**

## Locked authority

The Principal-approved Today 10:42 AM Svif asset board remains the sole Svif-only visual authority. Production work in this branch does not authorize a regenerated S, replacement wordmark, palette cleanup or ribbon simplification.

## Fidelity-first production decision

Reviewed pure-vector approaches materially changed the approved translucent ribbon topology, fold/overlap structure or particle field. They were rejected. Delivery therefore uses deterministic raster extraction from the locked approved board rather than accepting a visually drifting SVG merely for format preference.

`brand/tools/build-production-assets.py` validates the approved source SHA-256 and deterministically creates the native raster masters and approved-board derivatives recorded in `brand/masters/RASTER-MASTER-MANIFEST.md`.

## Binary materialization evidence

Git's binary blob API was tested with exact Git-object verification. The following repository binaries are directly committed under `brand/exports/`:

- `svif-favicon-64.png` — Git blob `b396a8f9f36d3b59b69e16b650675e82d666e99e`;
- `svif-favicon-32.png` — Git blob `791eb44f67e6e96d55a1126bdc2fdc23b18b5050`;
- `svif-favicon-16.png` — Git blob `234044b5faf1be3a6862d5c8f8548757902bc69b`.

For each, the GitHub-returned blob SHA matched the locally calculated Git object SHA exactly and the SHA-256 matches the production manifest.

A PNG failing UTF-8 decoding is normal binary behavior and is not evidence of corruption. The actual active limitation is the current execution bridge's long-base64 argument truncation. Larger PNG payloads must not be attached unless the returned Git blob SHA matches the locally expected SHA exactly.

A deliberate 128px boundary probe confirmed the limitation rather than weakening it:

- source: `svif-favicon-128.png`, 12,183 bytes;
- locally expected Git object SHA: `40dbc1cbca075149cd8fc4e0859f09217b0c3530`;
- GitHub-returned blob SHA through the current bridge: `30eb8689852c6490c0e2e19d3ff39cb4269b1700`;
- result: **SHA mismatch; rejected and never attached to the branch tree**.

This proves the current transport is reliable for the verified <=4KB examples above but not for the tested 12KB payload. No larger binary will be attached through this path without exact Git-object equality.

## Complete QA

The earlier production review scope has been normalized to the same 13-item final QA contract used for Agnir:

1. mark;
2. wordmark;
3. horizontal lockup;
4. vertical lockup;
5. light usage;
6. dark usage;
7. monochrome usage;
8. app icon;
9. favicon 128;
10. favicon 64;
11. favicon 32;
12. favicon 16;
13. social card.

The locked translucent S and particle appearance remain the visual authority. `brand/qa/FINAL-QA.md` records the branch-local QA contract and hashes.

## Repository-documentation synchronization

The new top-level `brand/` product surface is now represented in both repository documentation layers:

- `REPOSITORY_TREE.md` includes the brand directory and responsibilities;
- `README.md` and `README.zh-CN.md` compact repository trees both include `brand/`.

The compact-tree update was applied by a one-off GitHub Actions workflow and the temporary workflow file was removed afterward. Sync run `33704957846` completed successfully.

## Integration validation

A one-off validation workflow exercised the actual brand branch. The first run exposed only a temporary workflow environment omission (`PYTHONPATH=src`), not a product defect: repository integrity and portable contract checks already passed while runtime tests could not import `svif`.

After correcting that validation environment without changing product code, run `33705138040` completed successfully with:

- `python checks/check_repository.py`;
- `python conformance/check_contracts.py`;
- `PYTHONPATH=src python -m unittest discover -s tests -p 'test_*.py' -v`.

The temporary validation workflow was then removed.

## Remaining integration boundary

Before canonical `main` integration:

1. preserve the byte-exact approved Svif board in repository storage;
2. attach the remaining larger deterministic PNG outputs through a byte-preserving transport and verify Git blob SHA plus documented SHA-256;
3. re-resolve latest `main` and reconcile branch-local continuity;
4. integrate coherently without changing the immutable released `v0.2.0-preview.1` tag;
5. verify authoritative `main` after publication.

At this point the unresolved gate is **large byte-exact binary preservation plus final latest-main reconciliation**; visual design, 13/13 QA, repository documentation, and branch validation are complete.
49 changes: 49 additions & 0 deletions .agnir/evidence/2026-09-02-brand-vectorization-candidate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Svif brand production / vectorization evidence — 2026-09-02

Status: **branch-local candidate continuity; not canonical until reconciled and merged to authoritative `main`.**

## Locked source

The Principal-approved Today 10:42 AM Svif board remains the sole Svif-only visual authority. Its source SHA-256 and extraction coordinates are recorded in `brand/APPROVED-VISUAL-REFERENCE.md`, `brand/reference/EXTRACTION-MANIFEST.md`, and `brand/masters/RASTER-MASTER-MANIFEST.md`.

## Vectorization finding

Multiple pure-vector reconstruction strategies were tested against the approved S:

- automatic contour / quantization;
- superpixel / SLIC;
- multi-layer color-band tracing;
- gradient / blur tracing;
- centerline Bézier stroke;
- constrained closed Bézier ribbon surfaces.

Each materially changed some combination of the approved translucency, fold topology, ribbon-width variation, overlap ordering, particle trajectories, or edge softness. Those approaches were rejected; none is authorized as the Svif production mark.

The old `brand/masters/candidates/svif-wordmark-trace-v0.1.svg` remains provenance only and is not a production master.

## Production decision

Delivery must not be blocked merely to obtain a nominally vector file. The current accepted engineering path is **fidelity-first raster production**:

- verify the exact approved source-board SHA-256;
- deterministically crop the approved assets;
- recover transparent mark / wordmark / lockups from the white presentation matte;
- preserve the approved-board light / dark / monochrome, app-icon and social-card treatments;
- derive real target-size favicons;
- record SHA-256 values and native dimensions for every output.

`brand/tools/build-production-assets.py` implements this path. `brand/masters/RASTER-MASTER-MANIFEST.md` records the expected output hashes.

## Semantics boundary

The resulting PNGs are raster production masters / approved-board derivatives. They must not be described as infinitely scalable vectors. An SVG wrapper, if later supplied, is only a container around raster artwork and does not change that semantic.

A future pure-vector replacement is allowed only if it passes a new source-vs-vector fidelity review; format preference cannot override the frozen visual authority.

## Binary write boundary

The current connector path has demonstrated truncation risk for sufficiently long base64 binary payloads. Unverified binary blobs are therefore not attached to the branch. Add actual PNG binaries only through a binary-safe Git path and verify them against the recorded SHA-256 values afterward.

## Next acceptable move

Complete the Svif production handoff/package using the deterministic raster outputs, verify actual-size favicon/app/social surfaces, add verified binaries through a safe Git path, then reconcile this branch-local decision into the latest canonical `main` during integration.
29 changes: 29 additions & 0 deletions .agnir/evidence/2026-09-02-brand-visual-lock-candidate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Svif brand visual lock candidate — 2026-09-02

Status: **Principal-approved on `brand/identity-system`; branch-local candidate continuity until reconciled and merged to authoritative `main`.**

## Durable decision candidate

The Principal ended further brand visual exploration and locked the **Today, 10:42 AM** reference set for future production.

Authoritative branch-local reference record:

- `brand/APPROVED-VISUAL-REFERENCE.md`

Svif-only visual anchor:

- `63e7953b-4571-45fb-a233-303ec8325c78.png`
- SHA-256 `10ad09a3c68e7ccd84e8c50ac4aaeda2bdb1e1fee4c09899ef4215fdec18f3fd`

Family/co-brand anchor:

- `1d00fb70-189b-4742-b4ac-c79be2668559.png`
- SHA-256 `4110d285243b6241ac709e750cca1815a10ca41e27c3bb15e6c94b56e57fa4fb`

## Consequences

- Svif remains the teal/turquoise **Motion Layer / 流动层** identity with the approved flowing S + particle language.
- The rejected deterministic `v0.1` reconstruction and later typography experiments are superseded and must not be treated as production masters.
- Future vectorization/derivatives must faithfully reproduce the approved board rather than redesign it.
- Any material visual deviation requires fresh Principal approval.
- `main` remains authoritative; this decision becomes canonical only after latest-`main` reconciliation and coherent integration.
66 changes: 66 additions & 0 deletions .agnir/evidence/2026-09-03-brand-binary-materialization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Svif brand binary materialization — 2026-09-03

Status: **branch-local integration evidence; not canonical until integrated into authoritative `main`.**

## Trigger

The approved 10:42 AM source board and larger raster production outputs could not be sent byte-exactly through the direct ChatGPT-to-GitHub base64 bridge. A controlled 12,183-byte PNG probe returned a different Git object SHA and was rejected rather than attached.

The Principal then uploaded the prepared handoff ZIP directly to the root of `brand/identity-system`.

## Transport verification

The uploaded archive was verified before use:

- filename: `svif-agnir-brand-binary-integration-handoff.zip`;
- size: `7,925,506` bytes;
- SHA-256: `52e8cee3c03f0762fc47d579505122dc452e5de97dafb462a3b470ed5457f72d`;
- Git blob: `3f49c176a5c5680620de6f4de09beb6297f99bf0`.

The same Git blob was observed in both Svif and Agnir repositories, proving the browser uploads preserved the exact archive bytes.

## Stale-base reconciliation

Before materialization, authoritative Svif `main` had advanced to `eba1b8538c4692a08bf69452525b735d23564599`; the brand branch was behind by 7 commits.

Reverse-sync PR `#8` (`main` -> `brand/identity-system`) was mergeable and was merged into the brand branch at `6076dd08d3e8d352d130a6c3ac2ccddb3d28bae7`. Post-reconcile comparison reported `behind main = 0`.

## Byte-exact GitHub-runner materialization

Temporary workflow creation commit: `9726a22107df137d36980faceb6b38a4de06af2c`.

Workflow run `33730468886` completed successfully. It:

1. verified the uploaded archive SHA-256;
2. extracted the handoff;
3. selected all Svif payload targets;
4. explicitly restored the family-board Svif mapping omitted by the handoff manifest-v1 duplicate-key bug;
5. verified each source payload SHA-256;
6. copied each source to its final repository path;
7. verified each destination SHA-256 again;
8. committed the assets;
9. removed the root transport ZIP and temporary workflow.

Final materialization commit: `137307351dfee467472ccd997fdc714b8a71c549`.

## Repository result

Byte-exact approved references now exist at:

- `brand/reference/svif-approved-reference.png`;
- `brand/reference/svif-agnir-family-approved-reference.png`.

Raster production masters now exist at:

- `brand/masters/svif-mark.png`;
- `brand/masters/svif-wordmark.png`;
- `brand/masters/svif-horizontal-lockup.png`;
- `brand/masters/svif-vertical-lockup.png`.

The complete light/dark/mono/app/favicon/social delivery set exists under `brand/exports/`.

A particularly useful integrity receipt is `brand/exports/svif-favicon-128.png`: Git blob `40dbc1cbca075149cd8fc4e0859f09217b0c3530`, exactly equal to the locally expected Git object SHA that the earlier direct bridge failed to preserve.

## Gate result

The **large byte-exact binary preservation gate is closed** for the Svif brand branch. Remaining gates are latest-main freshness, final Draft PR synthetic-merge CI, coherent publication to authoritative `main`, and post-publication verification.
51 changes: 51 additions & 0 deletions .agnir/evidence/2026-09-07-brand-final-integration-readiness.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Svif brand final integration readiness — 2026-09-07

Status: **branch-local integration evidence; candidate until integrated into authoritative `main`.**

## Current authoritative target

Fresh reads of `main` confirm:

- main revision: `eba1b8538c4692a08bf69452525b735d23564599`;
- Svif product line: `0.2`;
- Project Binding: `project-binding/0.2`;
- Agnir Core/profile: `0.2` / `repository-filesystem/0.2`;
- Project identity: `urn:svif:project:svif-core`;
- logical lineage: `urn:svif:lineage:authoritative`;
- selector: `refs/heads/main`;
- Agnir operational release: `0.2.0` at applied revision `fc84095ed5d500be9e1b43a4af0e93356571bbd4`.

`SVIF.yaml` declares the same continuity compatibility/profile and binding.

## Agnir v1 assessment

Agnir `v1.0.0` is now published stable, but its stable policy preserves existing valid Core/profile `0.2` Projects and requires `0.2` → `1.0` to be a separately authorized Project-owned promotion.

The current task is brand publication only. It does not alter continuity semantics and is not authorization to promote the Svif Project to Agnir Core/profile `1.0`. Therefore the final brand integration must inherit the current authoritative `AGNIR.yaml`, `SVIF.yaml`, continuity, migration history, and Preview.1 onboarding baseline unchanged.

## Brand package readiness

The approved 10:42 AM visual authority, fidelity-first raster masters, delivery exports, 13/13 QA contract, repository-map documentation and production tooling are committed on `brand/identity-system`.

The large byte-exact binary preservation gate is closed:

- approved Svif reference SHA-256: `10ad09a3c68e7ccd84e8c50ac4aaeda2bdb1e1fee4c09899ef4215fdec18f3fd`;
- approved family reference SHA-256: `4110d285243b6241ac709e750cca1815a10ca41e27c3bb15e6c94b56e57fa4fb`;
- GitHub materialization workflow: `33730468886` success;
- materialization commit: `137307351dfee467472ccd997fdc714b8a71c549`;
- formerly blocked 128px favicon Git blob: `40dbc1cbca075149cd8fc4e0859f09217b0c3530`.

## Fresh target relation

Fresh comparison on 2026-09-07 reports `brand/identity-system` ahead of current authoritative `main` and **behind by 0**, with merge base equal to `eba1b8538c4692a08bf69452525b735d23564599`.

## Final publication gates

Before advancing authoritative `main`:

1. PR #5 synthetic-merge product checks must be green on the final head;
2. a fresh comparison must still report `behind main = 0`;
3. PR #5 must remain mergeable;
4. integration must not move immutable `v0.2.0-preview.1` or change Svif's Agnir Core/profile `0.2` binding;
5. authoritative-main product checks must pass after merge;
6. canonical Svif State/Next Actions must be reconciled to record accepted brand integration.
Loading
Loading