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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 1 addition & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

**Acceptance work:** Before preparing, approving, running, diagnosing or resuming acceptance, read the authoritative [complete batch protocol](docs/testing-policy.md#complete-acceptance-units) and [current handoff](docs/revised-api-acceptance-plan.md#current-handoff). Complete or explicitly block one platform/backend/device unit at a time; this protocol and its owner-selected worker override older native smoke instructions below.

TF01 established the package and selection foundation. TF02 is complete. The shared map (`MapSetup`, `Map`, `Source`, `Layer`, and four adapters) covers one GeoJSON line, `flyTo`, `onMove`, and unmount/remount, and the six-environment smoke passed. Mapbox Android's opening camera matches pinned `@rnmapbox/maps` 10.3.7, which keeps latitude at 0 on a cold style cache. Remove that peer limitation when the pinned release contains the upstream fix. Full API coverage describes the current TF contract. The next incompatible release has the narrower agreed scope in [requirements](docs/requirements.md#purpose-and-scope); preserve complete coverage of its retained contract. TF03 forwards web `reuseMaps` and lifecycle callbacks; native reuse is rejected because the pinned wrappers have no reuse facility. The TF03 renderer smoke passed. TF04 implements the shared camera, gesture, and interaction contract. Web `viewState` is delegated. Native `viewState` writes camera props, and `controlledCamera` is not advertised. The TF04 renderer smoke passed. TF05 implements the five portable source families, eight layer types, clustering configuration, registered images, and update/reset/style-replacement behavior. The TF05 renderer smoke passed. TF06 implements queries, clusters, and feature state; its native source-lifecycle correction passed the six-environment smoke. TF07 implementation, review, routine checks, and the authorized six-environment R16 renderer acceptance passed for the recorded exercised scope; full VoiceOver and TalkBack audits remain outside this checkpoint. See [the TF07 record](docs/tf07-ui.md). TF08 location/offline/capture implementation and acceptance passed for the recorded browser, simulator, and emulator scope, including populated database imports/migration and representative capture inclusion. The owner excludes physical-device testing and two RNMapbox cache operations. See [the TF08 record](docs/tf08-location-offline-capture.md). Read [requirements](docs/requirements.md), the [stage plan](docs/stage-plan.md), and the [testing policy](docs/testing-policy.md) first. See the [TF02 record](docs/tf02-shared-map.md), the [TF03 record](docs/tf03-reuse.md), the [TF04 record](docs/tf04-camera.md), and the [TF05 record](docs/tf05-sources.md). The [Android camera handoff](docs/tf02-android-camera-handoff.md) records the opening-camera investigation. The external disk backup preserves the previous project without requiring a Git commit.

For next-release API work, read the [migration contract](docs/revised-api-proposal.md), [unit protocol](docs/revised-api-implementation-plan.md), and next-release dispositions in the [sole coverage checklist](docs/api-coverage.md). U06 is merged as PR25 and U07 as PR26. U08 native camera target migration is merged as PR27. U09 feature-state lifetime migration is merged as PR28. U10 current-map capture migration is merged as PR29. U11 selected offline manager migration is merged as PR30. U12 independent snapshot migration is merged as PR31; [applicable routine verification is recorded](records/evidence/revised-api-u12-snapshots.json). U13 common popup migration is merged as PR32; [routine verification and provenance are recorded](records/evidence/revised-api-u13-popups.json); U14 navigation and fullscreen migration is merged as PR33; [routine verification and provenance are recorded](records/evidence/revised-api-u14-navigation.json); U15 scale and attribution migration is implemented and independently audited after reviewed U14 PR33; [routine verification and provenance are recorded](records/evidence/revised-api-u15-ornaments.json). U15 PR34 is merged. U16 geolocation UI migration is implemented and independently audited; [routine verification and provenance are recorded](records/evidence/revised-api-u16-geolocation-ui.json). U16 PR35 is merged. U17 common control layout migration is implemented and independently audited; [bounded routine verification and artifact provenance are recorded](records/evidence/revised-api-u17-control-layout.json). U17 PR36 is merged. U18 acquisition migration is implemented and independently audited; [U18 evidence](records/evidence/revised-api-u18-location-acquisition.json) records bounded routine verification, archive provenance and remaining gates. U18 PR37 is merged. U19 feature-click migration is merged as PR38; [U19 evidence](records/evidence/revised-api-u19-feature-clicks.json) records bounded routine verification and exact archive provenance. U20 Images migration is implemented and independently audited; [U20 evidence](records/evidence/revised-api-u20-images.json) records bounded routine verification, inherited publication exclusions and exact archive provenance. U20 [PR40](https://github.com/RobJacobson/one-map-react/pull/40) is open after independent review. U21 private-coordination cleanup is implemented and independently audited; [U21 evidence](records/evidence/revised-api-u21-private-coordination.json) records bounded routine verification and exact archive provenance. U21 [PR41](https://github.com/RobJacobson/one-map-react/pull/41) is open after independent review. U22 public-surface audit and bounded documentation/test fixes are implemented and independently audited; [U22 evidence](records/evidence/revised-api-u22-surface-audit.json) records full routine checks without fixture exclusions, exact packed/declaration verification and the corrected fixture-loading diagnosis. U22 [PR42](https://github.com/RobJacobson/one-map-react/pull/42) is open after independent review. U23 read-only patch/peer assessment is complete with [PR43](https://github.com/RobJacobson/one-map-react/pull/43) open after review; the [decision report](docs/revised-api-patch-peer-review.md) records eight retained publication repair gaps at the read-only checkpoint. U23-F01 is implemented and independently audited; [reconciliation evidence](records/evidence/revised-api-u23-native-patch-reconciliation.json) records exact patch identities, bounded routine/pristine/isolated proofs and frozen-archive checks with peers, locks and versions unchanged. The reconciliation [PR44](https://github.com/RobJacobson/one-map-react/pull/44) is open after review. U24 candidate preparation is implemented and independently audited with [PR45](https://github.com/RobJacobson/one-map-react/pull/45) open after review. The authorized U25 browser attempt failed in its first command; the Mapbox scenario passed, MapLibre camera forwarding failed, and runner cleanup left owned child processes. Eight commands were not run. The owner-approved camera/runner repairs are implemented and independently audited with [PR46](https://github.com/RobJacobson/one-map-react/pull/46) open. The authorized attempt02 passed commands 1-4 on both web engines, then command 5 failed after source recreation, before requesting the replacement style, with an undefined-value error; commands 6-9 were not run. All five commands exited normally and released their owned processes. Source-backed SDK and full-hook reproductions trace the error to redundant removal of already-empty fresh feature state followed by a set before SDK state coalescing. The fixture-only repair is implemented and independently source-audited with [PR47](https://github.com/RobJacobson/one-map-react/pull/47) open; applicable routine checks passed. Library behavior is unchanged. The authorized attempt03 passed commands 1-5 on both web engines, then command 6 failed in the Mapbox UI popup-teardown assertion (open=2, close=2, expected no extra dismissal); commands 7-9 were not run. All six commands exited normally and released owned resources, with frozen inputs unchanged. Source-backed raw-wrapper/SDK and actual-scene controls locate an application ownership defect: old-map removal invokes the old popup callback before child cleanup, and that stale callback closes replacement-generation state. The fixture-only generation/lifetime guard and stronger replacement-popup verification are implemented with [PR48](https://github.com/RobJacobson/one-map-react/pull/48) open; applicable routine checks and independent source audit passed. The [current browser outcome](records/evidence/revised-api-u25-web-attempt-05.json) records all nine approved rows passing on the unchanged PR48 candidate, including commands 1-2 from attempt04 and commands 3-9 from approved recovery. The interrupted attempt04 and prior failures remain recorded history. The browser harness and runtime tools are retired. The [sole acceptance proposal](docs/revised-api-acceptance-plan.md) owns the source-audited and routinely verified resolver/retained-coverage repairs, the proposed host-readiness phase and the later separate native execution-permission gate. Native acceptance remains unverified. The unit protocol authorizes automatic sequential implementation through U24 after each reviewed PR. Current APIs, candidate gates, patches, peers, and historical acceptance remain separate from the future contract.
Read [requirements](docs/requirements.md), the [stage plan](docs/stage-plan.md), and [testing policy](docs/testing-policy.md) before implementation. For next-release API work, read the [migration contract](docs/revised-api-proposal.md), [unit protocol](docs/revised-api-implementation-plan.md), and [API coverage checklist](docs/api-coverage.md). Acceptance is deferred until release preparation or an explicit owner request; see the [current handoff](docs/revised-api-acceptance-plan.md#current-handoff). Historical results do not certify the working checkout.

Read [docs/coding-style.md](docs/coding-style.md) before changing first-party code or code examples. Follow its requirements for functional programming, arrow functions, naming, logical spacing, TSDoc, type ownership, explicit public exports, and validation. Existing deviations do not authorize unrelated refactors.

Expand Down
Loading