Repository navigation
Conversation
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Signed-off-by: Laurent De Marez <laurent@demarez.org>
Deploying openwork with
|
| Latest commit: |
0872afb
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://78c352d7.openwork.pages.dev |
| Branch Preview URL: | https://feat-eng-76-slack-marketplac.openwork.pages.dev |
There was a problem hiding this comment.
Warden clearance. Complete security and confidentiality review of 5b246c17e06e75926b3a6a9e4aad0be9e591ad8c found no high or medium security findings and no confidentiality findings. Any new push dismisses this approval. Analysis run
Keep revoked-grant compare-and-set cleanup from dev alongside Slack identity validation, configuration rechecks, and zero-expiry handling. Regenerated API, SDK, Helm and audit outputs remain unchanged. Signed-off-by: Laurent De Marez <laurent@demarez.org>
|
Resolved the new The only textual conflict was token refresh. The resolution preserves both upstream revoked-grant compare-and-set cleanup and Slack's identity/configuration checks, including zero-expiry handling. Live browser/member and locked persistence checks remain intact. A separate read-only safety review found no merge-introduced blocker; it is not a replacement for Warden. Fresh sequential, cold local tests on this exact merge head, using synthetic providers and disposable databases:
All exited 0 with Also passed: 193 API tests, 25 contract-tooling tests, 9 feature tests, with zero failures/skips; shared-type/database/SDK/web builds; web/app/eval typechecks; eval rules; Helm rendering; and all 704 audit declarations. API/SDK/Helm regeneration produced no drift. The two task-owned disposable services, their volumes, and their private receipt were removed. Current-head update: Slack and admin-race CI proofs pass; admin-race screenshot review passes. Warden run |
Handle genuine overview 401/403 responses before the stale-data guard, so an aborted or failed newer organization read cannot leave cached admin data visible. Keep stale successful overviews from erasing newer rows. Reproduced four real denial/transport combinations before the fix. All five focused browser cases and the unchanged Slack V2 journey pass afterward, including client-navigation and reload cache checks. Signed-off-by: Laurent De Marez <laurent@demarez.org>
Preserve Redis caching for ordinary feature reads while explicit Slack authorization and App Home policy remain database-authoritative. Reproduce and cover stale grants when invalidation fails. Keep upstream migration 0142 and generate Slack migration 0143 with byte-identical DDL and a combined snapshot. Verify both canonical upgrade paths and fresh bootstrap. Audit coverage stays inside the prepared contract database lifetime. Signed-off-by: Laurent De Marez <laurent@demarez.org>
|
Pushed 013af54 normally, including Warden finding: reproduced and fixedThe overview's stale-data guard ran before its authorization-denial handlers. A failed or aborted newer organization request could therefore suppress a genuine overview 401/403 and retain cached admin data. The handlers now run first; stale successful overviews still cannot erase newer rows. Before the product change, the focused suite had 1 passed / 4 failed / 0 skipped. After it, all 5 pass, including both 401/403 × reset/abort combinations and the original late-200 row-preservation case. The tests use actual Den sign-out/admin removal and hold genuine server responses. They also prove that client navigation and full reload cannot restore either admin cache. No fabricated authorization response, weakened assertion, or Warden waiver was used. Merge safety
Final-head verificationCold local journeys ran sequentially on this exact commit using synthetic providers and task-owned disposable databases. Every command exited 0 and reported
Also passed: 261 API tests, 25 contract-tooling tests, 9 feature tests, no failures/skips; shared-type/database/SDK/web builds; web/app/eval typechecks; full eval checks; Helm rendering; all 705 audit declarations. Screenshot artifacts remain separate from functional assertions and need current-head CI judging. Both task-owned services and their volumes were removed after this head's verification. The PR remains draft. Warden update: run The confidentiality artifacts provide no item details. Focused independent inspection found no actionable candidate; that count remains unresolved. The protected core journey still requires authorized approval. No live Slack account, production feature setting, PR merge, force push, or approval bypass was used. DESIGN: P1, P4, P10, P11. |
Retain text sign-in and key buttons with wide action slots, while preserving managed Slack consent actions and blocked/limited-access labels. Keep generic sign-in status from duplicating the button label. Signed-off-by: Laurent De Marez <laurent@demarez.org>
Update the Library sharing journey to open the collapsed custom-app disclosure and use its explicit labels. Retain the real provider sign-in, sharing, and out-of-team isolation assertions; the existing named-connection plugin journey remains unchanged. Signed-off-by: Laurent De Marez <laurent@demarez.org>
Assert that a member cannot configure the organization's Slack app, then use the supported address flow for the synthetic personal MCP that advertises dynamic OAuth. Preserve the real sign-in, sharing and out-of-team isolation checks and the existing named-connection plugin case. Signed-off-by: Laurent De Marez <laurent@demarez.org>
|
Pushed b6ee3b2 normally after merging The Library resolution retains upstream readable sign-in/key buttons and wide action slots, plus managed Slack consent actions and blocked/limited-access labels. No security or backend authorization behavior was changed in this follow-up. The extra sharing regression exposed an obsolete assumption that a member could directly choose the Slack preset. The saved page showed the separate custom-app disclosure and its intentional organization-admin restriction. The test now asserts that restriction, then uses the existing personal-MCP address flow against the synthetic provider that advertises dynamic OAuth. Real sign-in, sharing and out-of-team isolation checks remain; the existing named-connection plugin scenario is unchanged. No product permission was relaxed to make the test pass. One introduced container-text matcher was corrected after its failure was inspected. Exact-head local journeysEach command exited 0 with
10 passed / 0 failed / 0 skipped. The Library sign-in journey checks readable controls at desktop and narrow widths, keyboard retry, pending state, real synthetic OAuth, key entry and member isolation. Screenshot artifacts remain separate from functional assertions; new-head CI judging is required. The merged product also passes 261 API tests and 25 contract-tooling tests with no failures/skips, web/app/eval typechecks, SDK/web builds, full eval rules, Helm rendering, and all 705 audit declarations. Contract regeneration has no drift. The final test-only correction was followed by fresh eval type/rule checks. The migration proof from Both task-owned disposable services and their volumes were removed. The PR remains draft and conflict-free. Current-head CI/review update: all three functional proofs (Slack, Library sharing and admin-race) and the required-check aggregate pass. Admin-race and Library screenshot reviews pass; Slack screenshot review and evidence publication are still pending. Warden run The protected core journey is waiting on |
Remove the added glossary, rollout decisions, research, setup notes, world notes and evidence images. Restore the existing Den web README while retaining required generated API, audit and Helm outputs. Signed-off-by: Laurent De Marez <laurent@demarez.org>
There was a problem hiding this comment.
Warden clearance. Complete security and confidentiality review of 2b5b33dac6811698653d6b216f1738e9baad8981 found no high or medium security findings and no confidentiality findings. Any new push dismisses this approval. Analysis run
Keep the current Library and Activity dashboard, including managed Slack discovery, account actions, limited access and blocked states. Retain fresh authorization and browser ownership checks while using request-shared reads only for listings. Preserve upstream migrations through 0145 and append only the byte-identical Slack table at 0146, without renaming or dropping retired tables. Regenerate API, SDK, audit and Helm outputs. Replace an unsupported upstream dialog selector with a supported absence assertion. Signed-off-by: Laurent De Marez <laurent@demarez.org>
Check the closed disclosure, explicitly open it, and assert the custom-app setup label while retaining all catalog entries and the existing Microsoft 365 readiness and member-isolation journey. Signed-off-by: Laurent De Marez <laurent@demarez.org>
Signed-off-by: Laurent De Marez <laurent@demarez.org>
There was a problem hiding this comment.
Warden clearance. Complete security and confidentiality review of 0872afbe804b582c6c4d3a4c604baae3444c43a9 found no high or medium security findings and no confidentiality findings. Any new push dismisses this approval. Analysis run
|
Deployment failed for project openwork-diagnostics with the following error: |
|
Deployment failed for project openwork-app with the following error: |
|
Deployment failed for project openwork-den with the following error: |
|
Deployment failed for project openwork-landing with the following error: |
What is this about?
Add OpenWork-managed, read-only Slack search to Cloud, with discovery in Dashboard, connector catalogs, and Library.
What problem does it solve?
Members connect Slack without creating an app or supplying developer credentials. Platform admins can enable selected organizations through existing controls.
What was the situation before?
Configured credentials alone did not make managed Slack available. Members depended on separately configured integrations.
How is this implemented?
nativeSlack; reuse organization overrides, deployment defaults, locks, and the emergency stop.What else changed?
Release note
When your organization enables Slack search, connect your own account to find conversations and read linked excerpts.
Evidence
evals/specs/native-slack-connect.e2e.test.ts— unavailable Slack → selective enablement, discovery, personal consent, isolated reads, and safe account removal.evals/specs/den-admin-organization-race.e2e.test.ts— late overview erased rows → newer organization rows remain.Design: P3, P4, P5, P10, P11, S6, C5