You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3aeceb66a9506bc0a7639393c2c5452cfa9374db chore(types): regenerate after get_attribution_match_rate_for_project (#5848)
88c9451fc425242197fa0442db21c66db0fcbbdf ci(shared-types): run the package's vitest suite on every PR (#5853)
78c1be957c3afafe074a039b3f3f09a7af538574 docs(library): archive guidance at the decision and where it bites (#5860) (#5893)
9c35ff3f37853c54376e1aba95fe40e85a2eee85 docs(paid-growth): the founder signed the M1 close packet; S3 (PG-103) opens (#5862)
59ea8ccc6fda0401111a4ce02d2cbf278e786719 feat(cora): a durable receipt for a delegated engineer session (COR-002) (#5913)
32e096c8063ad9322e3e07e3f463b46a69a01f0b feat(measurement): daily FX rates and the ROAS band per channel (#5899)
1350bb0d08c5d1c18d8a9210b3e627d42b3d0bc2 feat(measurement): release alerts on money events, per app version (#5910)
eadc183fe938d08c38dafd186dde4bab290676e9 feat(measurement): the ROAS band per creative, with the early read named (#5902)
8073ca33663c7281d1e5d7f56d8e88d98644f30c feat(measurement): the default first-run funnel per SDK app (#5900)
9061e56d426861cad5598705eb3388e536ad35d2 feat(measurement): the event and property catalog per SDK app (#5897)
4f64b44827ef16d544134aee7e8b24461d8e73c5 feat(paid-growth): an Apple plan binds its demand proof from Layers' own keyword tiers and storefront rankings (PG-400 slice 4, PR 3) (#5871)
8639fb401baf61c832b649ffcb45b4af1b2e6983 feat(paid-growth): an Apple plan reaches the ledger and is refused there, not at the platform gate (PG-400 slice 3) (#5854)
fdff6abad9b6eadb2eb094efdfd45482cc022faf feat(paid-growth): the Apple provider adapter reads its readiness ladder and refuses every write (PG-400 slice 2) (#5841)
dc7ab8d32ab0ab7704627251fbb223c98f047d91 feat(paid-growth): the Google conversion goal is threaded as a lane fact — app_install only (PG-500 PR 1) (#5867)
3f96040c677fe7ae9e4bded6e5428addfdd3e867 feat(paid-growth): the TikTok daily floor table holds every currency TikTok publishes (PG-305) (#5863)
2c12b5a3faefff5e04de6623b46281d20dd4dbb1 fix(cli): auth status, log and restore read the store whoami reads, and name it (#5915)
c9e8dfa8f397675fd6a3c51c3c872e838c6d3946 fix(db): delete a project's imported ads history with the project (#5883)
793f08a8b5065612d5b26a79b8c0e63cde2ef349 fix(discovery): wave the post-walk measure pass, cancel its vendor reads, and name the failure (#5846)
d9cbfcb5333569b389ef2536ca92b9d7f67e3951 fix(mcp): layers://attribution reads its own project, not the fleet (#5843)
76b6834ba6549b86bb51333408639204479345cf fix(mcp): a bad storefront code is a refusal, not a permanent outage (#5852)
420d791f00f4dddc6bb26c652aac68a3a72db4be fix(mcp): a dead onboarding crawl says so, and names the call that restarts it (#5849)
004d536e188b2b814aca45596039d4f42d118579 fix(mcp): a store that has no such listing is a refusal, not an outage (#5845)
637a2189661a9e0cb7fa377713ce511fe869d80e fix(mcp): an approved piece in the queue no longer blocks every growth read (#5885)
b46844bda7769e13277cec89db4ff691498543b1 fix(mcp): read the attribution split the way the funnel counts it (#5850)
2c7b0d5abe2596d36eb22e501752d022f6c584c3 fix(mcp): the short-link minter judges expiry on the caller's clock (#5865)
9f4b71b376a2e361b74f24f9c7d55122ec5c4765 fix(paid-growth): a Spark-authorized owned post gets its creative identity, even when Layers published it (#5857)
7e20f90770142e2157ba84e639d6a58aa4f537b1 fix(paid-growth): a finished build never answers provider_pending forever (#5874) (#5875)
604edabb93a1d351dbafacbbfe8be052dca5a2b2 fix(paid-growth): a paused create is a paused campaign and paused ad groups; the seeded ad is enabled by design (#5878)
a3788b1640243d8a3f8f01411952cc972ea5d55a fix(paid-growth): the certification driver retries the same key until the paused create settles (PATCH-09) (#5872)
da91e739891d2ab7f22c2a512d0f4bd878396786 fix(paid-growth): the plan's schedule is computed once per run, so a replay carries the bytes the key was minted with (#5855)
ba25ab0a4fbfc8f25300824884c13348fdcf78e7 fix(paid-growth): the promoted build carries the rulebook admission, and a successful confirm answers 200 (#5868)
ba2ed7fdfbbd1b6058f6877f4a473d9cdc7b19bf fix(paid-media): the manual TikTok budget edit judges the account's own currency with the shared cap verdict (#5864) (#5891)
c1b7eec773addba70bed5f1327b57c33d510f87e fix(sdk-ingest): event and user property values keep their JSON type (#5901)
0a719bc69a9988d053a79041207d0592ec33c62a fix(temporal): keep discovery alive during vendor waits (#5873)
31682bb0c0f3c63863eccb497cdc94fe884bae69 fix(temporal): the outer create ledger carries the child's cleanup status and custody (#5876) (#5892)
47dde005c7a0cf2bc5ef352cc58e9af5ee0aa0ad fix(web): the managed-account confirm says where the money goes (#5870)
b46b952db12d12335e0aadec765d0b4580ee5a02 test(api): the onboard-product harness compares the crawl cutoff as an instant, not a string (#5858)
da69518975b498fcadba44bf4ab4dadde60255c1 test(api): the tampered-signature probe always tampers (#5847)