Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
43 changes: 43 additions & 0 deletions .github/workflows/linux-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Linux smoke

# GitHub-hosted Linux build + smoke for the 0.x agent-ready milestone.
# Complements the private-repo macOS self-hosted CI/Trust workflows.

on:
push:
branches: [main]
pull_request:
workflow_dispatch:

concurrency:
group: linux-smoke-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

permissions:
contents: read

jobs:
linux-smoke:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4

- name: Install Swift
uses: swift-actions/setup-swift@v2
with:
swift-version: "6.0"

- name: Swift version
run: swift --version

- name: Build
run: swift build -c debug

- name: Test
run: swift test

- name: Smoke CLI
env:
APS_BIN: .build/debug/aps
run: ./Scripts/smoke.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
id: CHG-0002-fix-filestate-watch-cache-and-path-isolation-from-review
state: accepted
state: archived
type: feature
base_commit: c6d9326fd7f4c7925deb5ff4f27f984a073bf6b8
---
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"schema_version": 1,
"id": "CHG-0002-fix-filestate-watch-cache-and-path-isolation-from-review",
"slug": "fix-filestate-watch-cache-and-path-isolation-from-review",
"title": "Fix FileState watch cache and path isolation from review",
"description": "Fix FileState watch cache and path isolation from review",
"kind": "feature",
"state": "archived",
"canonical_applied": true,
"base_commit": "c6d9326fd7f4c7925deb5ff4f27f984a073bf6b8",
"created_at": 1784396041,
"updated_at": 1784398029,
"affected_specs": [
"aps-cli",
"state-store"
],
"affected_paths": [
".attest.json",
".augur.toml",
".github/workflows/",
".gitignore",
".specsync/",
".trust.toml",
"AGENTS.md",
"CLAUDE.md",
"Package.resolved",
"Package.swift",
"README.md",
"Scripts/",
"Sources/",
"Tests/",
"fledge.toml",
"specs/"
],
"no_spec_change": false,
"no_spec_change_rationale": null,
"acceptance_criteria": [
"watch note sees cross-process file writes; StateStore preserves injected FileState paths; set note fails when disk write does not persist; specs/README match; 20 tests pass"
],
"selected_artifacts": [
"context",
"requirements",
"plan",
"tasks",
"testing",
"docs",
"design"
],
"dependencies": [
"CHG-0001-adopt-corvidlabs-trust-and-establish-aps-module-contracts"
],
"answers": {
"architecture_risk": "no",
"public_contract": "yes"
}
}
4 changes: 2 additions & 2 deletions .specsync/change-sequence.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"sequence": 2,
"id": "CHG-0002-fix-filestate-watch-cache-and-path-isolation-from-review",
"sequence": 5,
"id": "CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout",
"acknowledged_collisions": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
{
"approvals": [
{
"gate": "definition",
"actor": "leif algo",
"timestamp": 1784398074,
"digest": "641111b8f92bdfff2ba1f3bcda40f5299d9dc8a65449cd2a4a49333fac21100f",
"note": "Approved post-merge archive of CHG-0002 and publishing GOAL.md for aps v1.1; no module contract changes."
},
{
"gate": "acceptance",
"actor": "leif algo",
"timestamp": 1784398078,
"digest": "504e84d897b0ef5bd628e7eafbe814c05b1ae7a5f15bb795e9aa112d4f0caf27",
"note": "Accepted v1 SpecSync archive and aps v1.1 GOAL.md publication."
},
{
"gate": "definition",
"actor": "leif algo",
"timestamp": 1784399199,
"digest": "641111b8f92bdfff2ba1f3bcda40f5299d9dc8a65449cd2a4a49333fac21100f",
"note": "Re-approve GOAL/README at 0.2.0 naming; no SpecSync definition artifact change."
},
{
"gate": "acceptance",
"actor": "leif algo",
"timestamp": 1784399215,
"digest": "db4d9c6e2319364dfd0742cb46c74f4d84e04269813a0f617a78824ba0a6af33",
"note": "Accepted GOAL/README refresh to pre-public 0.2.0 naming."
}
],
"reopenings": [
{
"schema_version": 1,
"change_id": "CHG-0003-archive-merged-v1-specsync-change-and-publish-aps-v1-1-goal",
"actor": "leif algo",
"reason": "Rename milestone from mistaken v1.1 branding to pre-public 0.2.0; refresh GOAL and README for agent-ready checklist.",
"timestamp": 1784399199,
"from_state": "accepted",
"to_state": "verifying",
"superseded_approval": {
"gate": "acceptance",
"actor": "leif algo",
"timestamp": 1784398078,
"digest": "504e84d897b0ef5bd628e7eafbe814c05b1ae7a5f15bb795e9aa112d4f0caf27",
"note": "Accepted v1 SpecSync archive and aps v1.1 GOAL.md publication."
},
"prior_verification": {
"timestamp": 1784398077,
"commit": "c02a551afc126ca5394c62baa557ceaf30fd5bc5",
"contract_digest": "641111b8f92bdfff2ba1f3bcda40f5299d9dc8a65449cd2a4a49333fac21100f",
"workspace_digest": "37f288e185f2d7984d92dffce833943e4de9f6f977241cb404462c1e2665b875",
"acceptance_input_digest": "3558d65246e2c24859cabb4ce98197bc29477f32bba6728c42914ea7f5805d22",
"acceptance_manifest": {
"schema_version": 1,
"entries": [
{
"path": ".specsync/.gitignore",
"kind": "file",
"mode": 33188,
"payload_digest": "a3129d6f93250ade8dbacfc73bc7eeae0cc47c2f7032142ca47cb4f1ffb2483e",
"entry_digest": "9badbf40b83d05f58bafda0fc2cafccfe726e4da7e6e67ef513e822989e13f04",
"owners": [
"@exact:delivery"
]
},
{
"path": ".specsync/change-sequence.json",
"kind": "file",
"mode": 33188,
"payload_digest": "ddf1f4cbb0fd983c8356a34b9b4f4ef77ca22764ac2ec36b223431402c043328",
"entry_digest": "7fd95f31d540d3d3e7128fbd03cb3207a3da428c98a81515a76b7dfc9b34d582",
"owners": [
"@exact:delivery"
]
},
{
"path": ".specsync/config.toml",
"kind": "file",
"mode": 33188,
"payload_digest": "54a83f6a4a252649bac390d2e936aa0815711fba86b6bfc8ea8fff2fffdfd29b",
"entry_digest": "e60f979233a7db75ce63f4ef42d6f1f7676ad1655a438b9baf78558aba60ec3e",
"owners": [
"@exact:delivery"
]
},
{
"path": ".specsync/registry.toml",
"kind": "file",
"mode": 33188,
"payload_digest": "c423be1a5cf87318f85dc252fe0acd1c1486c5224ddc2d8e19bea1ac9c69c820",
"entry_digest": "7e1f068900ced849b8d1028ca40165fbdc5280ae7f53452f0e57e2710d895848",
"owners": [
"@exact:delivery"
]
},
{
"path": ".specsync/sdd.json",
"kind": "file",
"mode": 33188,
"payload_digest": "2d5fb3058b1ee4ce584c3cda9410c193c4893e272ed459205e58bfde06afc7b0",
"entry_digest": "8c6b11fc5787eb04e7ee651eb15fbf98fc3ea22db37e65423e3d75f99c09df19",
"owners": [
"@exact:delivery"
]
},
{
"path": ".specsync/version",
"kind": "file",
"mode": 33188,
"payload_digest": "f9893302cd3158f3b5aea394dcd2a91574869e9e6ff69e9235b10a3bf8c983fb",
"entry_digest": "f980ba79f6c953bed30303c6b87d8e868ad6a7f4114bf0e745c9099255e665b0",
"owners": [
"@exact:delivery"
]
},
{
"path": "GOAL.md",
"kind": "file",
"mode": 33188,
"payload_digest": "b6ea65e7d0fbd1a336afd9bb619acc9a799bc87ef41453c639defc272d75fb5d",
"entry_digest": "7876707aaa1955e71f50e4733b299d4e9c03eee80c3bb23565b3bb484892306b",
"owners": [
"@exact:delivery"
]
},
{
"path": "README.md",
"kind": "file",
"mode": 33188,
"payload_digest": "87a857d8ceb5c5f8aebeee5a4cb0dad157105514bcc433ed1c81e3af87d6f820",
"entry_digest": "5a68a2ddbfc87bb391a3c5b61d0f63a09b1f2999e180841e1098597966f9e744",
"owners": [
"@exact:delivery"
]
}
]
},
"passed": true,
"commands": [
{
"command": "fledge lanes run verify",
"success": true,
"exit_code": 0
}
],
"requirement_ids": []
},
"stale_acceptance_input_digest": "3558d65246e2c24859cabb4ce98197bc29477f32bba6728c42914ea7f5805d22",
"current_acceptance_input_digest": "80328d5ff7e9ef1c9eb3031447397375a429ba5b8fc3148ab6ef3a2d21f5fc68"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
id: CHG-0003-archive-merged-v1-specsync-change-and-publish-aps-v1-1-goal
state: accepted
type: operations
base_commit: c02a551afc126ca5394c62baa557ceaf30fd5bc5
---

# Archive merged v1 SpecSync change and publish aps v1.1 goal

## Intent

Archive merged v1 SpecSync change and publish aps v1.1 goal

## Affected Canonical Specs

- None

## Acceptance Criteria

- GOAL.md publishes the v1.1 agent-ready harness plan; README links it; merged CHG-0002 is archived under SpecSync 5.1.1; specsync check and change check pass with no active stale evidence.

## No-spec Rationale

Documents the v1.1 product goal and archives the merged v1 SpecSync change; no aps-cli/state-store contract changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Context

v1 (PR #1) merged with CHG-0002 still active. SpecSync 5.1.1 expects accepted changes to be archived after merge. Concurrently, the project needs a written v1.1 goal so follow-on work has a single north star for agent-ready CLI contracts.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Plan

1. Archive merged CHG-0002 with `specsync change archive` under SpecSync 5.1.1.
2. Add `GOAL.md` describing aps v1.1 (JSON, state root, watch bounds, Linux smoke, structured FileState).
3. Link `GOAL.md` from README.
4. Verify with fledge verify lane and `specsync check`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"schema_version": 1,
"id": "CHG-0003-archive-merged-v1-specsync-change-and-publish-aps-v1-1-goal",
"slug": "archive-merged-v1-specsync-change-and-publish-aps-v1-1-goal",
"title": "Archive merged v1 SpecSync change and publish aps v1.1 goal",
"description": "Archive merged v1 SpecSync change and publish aps v1.1 goal",
"kind": "operations",
"state": "accepted",
"canonical_applied": true,
"base_commit": "c02a551afc126ca5394c62baa557ceaf30fd5bc5",
"created_at": 1784398063,
"updated_at": 1784399215,
"affected_specs": [],
"affected_paths": [
".specsync/",
"GOAL.md",
"README.md"
],
"no_spec_change": true,
"no_spec_change_rationale": "Documents the v1.1 product goal and archives the merged v1 SpecSync change; no aps-cli/state-store contract changes.",
"acceptance_criteria": [
"GOAL.md publishes the v1.1 agent-ready harness plan; README links it; merged CHG-0002 is archived under SpecSync 5.1.1; specsync check and change check pass with no active stale evidence."
],
"selected_artifacts": [
"context",
"plan",
"testing"
],
"dependencies": [],
"answers": {
"architecture_risk": "no",
"public_contract": "no"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Testing

- `specsync change check` reports no active stale evidence after archive.
- `specsync check --force` passes on SpecSync 5.1.1.
- `fledge lanes run verify` (build, test, smoke) passes.
- `GOAL.md` and README link exist in the tree.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"schema_version": 1,
"attempts": [
{
"timestamp": 1784398077,
"commit": "c02a551afc126ca5394c62baa557ceaf30fd5bc5",
"contract_digest": "641111b8f92bdfff2ba1f3bcda40f5299d9dc8a65449cd2a4a49333fac21100f",
"workspace_digest": "37f288e185f2d7984d92dffce833943e4de9f6f977241cb404462c1e2665b875",
"passed": true,
"commands": [
{
"command": "fledge lanes run verify",
"success": true,
"exit_code": 0
}
],
"requirement_ids": []
},
{
"timestamp": 1784399203,
"commit": "6f18ccb3015b4fc59021e690fefbf5947ade5c73",
"contract_digest": "641111b8f92bdfff2ba1f3bcda40f5299d9dc8a65449cd2a4a49333fac21100f",
"workspace_digest": "32bcf044035714dacf90191f9c4d193c052cf586e94c67a44fcaa86e0a1f12e1",
"passed": true,
"commands": [
{
"command": "fledge lanes run verify",
"success": true,
"exit_code": 0
}
],
"requirement_ids": []
}
]
}
Loading
Loading