Skip to content

Update(governance): adopt SpecSync 5 and Trust 1#6

Merged
0xLeif merged 3 commits into
mainfrom
0xleif/trust-1-org-rollout
Jul 14, 2026
Merged

Update(governance): adopt SpecSync 5 and Trust 1#6
0xLeif merged 3 commits into
mainfrom
0xleif/trust-1-org-rollout

Conversation

@0xLeif

@0xLeif 0xLeif commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • adopt SpecSync 5.0.1 with a complete canonical companion for the existing Swift ASA Viewer API: 11 source files and 688 lines at 100% file and LOC coverage
  • document eight stable requirements covering parsing, asset models, service behavior, view-model state and pagination, SwiftUI presentation, and remote-image caching without changing product semantics
  • install Claude, Cursor, Codex, and Gemini integrations and pin the immutable standard Trust 1.0.0 action on macOS
  • preserve strict SwiftLint, the iOS simulator build, unit and tagged read-only live Pera API tests, Codecov, and independent DocC Pages publishing
  • leave Sources/ and Tests/ unchanged; this PR contains governance, specification, and workflow configuration only

SDD Review

  • canonical spec is active, substantive, and maps every existing source file
  • all eight requirements have deterministic stable IDs and verification evidence
  • SpecSync score is A / 100 with no undocumented public exports
  • strict coverage is 11/11 files and 688/688 LOC (100%)
  • both migration changes have valid definition and closing approvals recorded after native verification
  • no TODO, TBD, placeholder, lorem ipsum, or fake-data markers remain in governance/specification files

Test Plan

  • specsync check --strict --force --require-coverage 100
  • specsync agents status reports Claude, Cursor, Codex, and Gemini installed
  • fledge plugins run trust doctor --json
  • strict SwiftLint passes with 0 violations
  • iOS simulator build passes
  • all 19 deterministic tests and both tagged read-only live Pera API tests pass
  • committed-range fledge plugins run trust verify --range origin/main..HEAD passes
  • hosted checks pass on exact head 1769a718d6d9393c354c286fe49ccfc3280501eb

@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@0xLeif
0xLeif marked this pull request as ready for review July 14, 2026 04:22
@0xLeif
0xLeif merged commit 13995eb into main Jul 14, 2026
3 checks passed
@0xLeif
0xLeif deleted the 0xleif/trust-1-org-rollout branch July 14, 2026 04:22

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1769a718d6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -0,0 +1,25 @@
{
"timestamp": 1784002501,
"commit": "ae9fa7bce2c8725117238978ab012c6dd1423b31",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Regenerate verification for the reviewed commit

This accepted CHG-0002 verification is recorded for ae9fa7bce2c8725117238978ab012c6dd1423b31, but the reviewed commit is a8df5c1b7debbe35917935bb86de764057b582e0, and ae9fa7 predates the canonical specs/asa-viewer and CHG-0002 files. In any Trust/SpecSync lifecycle that treats verification.json as the delivery audit trail, the eight REQ-asa-viewer-* requirements are marked as passed without evidence for the final tree, so regenerate this verification after the final files are present.

Useful? React with 👍 / 👎.

Comment on lines +4 to +6
Arguments: {{args}}

1. Run `specsync change new "$ARGUMENTS" --json`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use Gemini's argument placeholder

For Gemini command invocations this prompt exposes the supplied text as {{args}}, but the command tells the agent to run specsync change new "$ARGUMENTS"; unlike the Claude/Cursor templates, $ARGUMENTS is not populated by this Gemini command, so users invoking create-change can create an empty or incorrect SDD change. Substitute the templated arguments in the command text.

Useful? React with 👍 / 👎.

Comment thread .specsync/sdd.json
"version": 1,
"enabled": true,
"require_change_for_meaningful_files": true,
"meaningful_paths": [

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include specs in lifecycle coverage

With require_change_for_meaningful_files enabled, lifecycle enforcement only requires CHG coverage for paths in this array, but the new canonical contract under specs/asa-viewer/ is not listed. A later PR can therefore edit the spec or requirements without an approved SDD change, bypassing the human-gated lifecycle this commit is adding; include specs/ as a meaningful path.

Useful? React with 👍 / 👎.

Comment thread .specsync/registry.toml
[registry]
name = "swift-asa-viewer"

[specs]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Register asa-viewer in SpecSync registry

The commit adds specs/asa-viewer/asa-viewer.spec.md, but the committed registry's [specs] table is empty. Tools and agent workflows that resolve modules through the SpecSync registry will see this repository as having no registered specs, so the new canonical companion is not discoverable there; add an asa-viewer = "specs/asa-viewer/asa-viewer.spec.md" entry.

Useful? React with 👍 / 👎.

The service SHALL fetch Pera public-mainnet pages and details asynchronously, apply list limit 1,000, decode results, and propagate URL, transport, or decoding failures.

Acceptance Criteria
- Initial, pagination, and `assets/{id}` routes are preserved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Align pagination requirement with service behavior

This acceptance criterion says pagination routes are preserved, but ASAService.fetchAssets replaces components.queryItems with only limit=1000 after accepting a page URL, so any cursor/offset query embedded in Pera's next URL is dropped. That makes the new contract approve pagination behavior the implementation does not provide; either preserve existing query items in the service or narrow this requirement.

Useful? React with 👍 / 👎.

Comment thread fledge.toml

[lanes.verify]
description = "Lint, build, and run ASA Viewer unit and live Pera API integration tests"
steps = ["lint", "build", "test"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Run SpecSync in the native verify lane

The repository policy now points both .trust.toml and .specsync/sdd.json at fledge lanes run verify, but this lane only runs lint/build/test. When a developer runs native verification or specsync change verify, specs can drift or fall below the required coverage while the configured verification command still succeeds; add a specsync check --strict --force --require-coverage 100 task to this lane.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant