Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2212 commits
Select commit Hold shift + click to select a range
ce5c547
test(acp): re-record frame-replay snapshots for the wire_title field …
Sep 7, 2026
6598107
feat: add contributes.panelTabs app-manifest contribution (#7975)
Sep 7, 2026
a4538d2
fix(acp): give session/set_mode the session-start budget on Windows (…
Sep 7, 2026
2b379ba
fix(work-ledger): stop the lock-file open from truncating on Windows …
Sep 7, 2026
e86469c
fix(session-pid): stop the PID lock opens from truncating the lock fi…
Sep 7, 2026
7dd090f
test(work-ledger): name the cause when the binding race test shortfal…
Sep 7, 2026
b5b54af
fix(slack): stop a refused progress card from splitting the reply (#9…
Sep 7, 2026
8fcd664
fix(instances): journal every warm-set write and the handshake drops …
Sep 7, 2026
a8f13b7
revert: put the AI review lanes back on Opus 4.8 and Fable 5
Sep 7, 2026
56f67aa
revert: restore windows startup by reverting #8117
Sep 7, 2026
057dceb
fix(hooks): stop the hooks.json lock opens from truncating the lock f…
Sep 7, 2026
5e627c8
fix(apps): read the answer to the stop the Job SDK already performs (…
Sep 7, 2026
81d5751
fix(issue-radar): open lock sidecars non-truncating before the acquir…
Sep 7, 2026
ab83741
feat(meetings): import a recording into a meeting (#5741)
Sep 7, 2026
c9f7181
feat(session): recover warm-pool hits for effort-override sessions (#…
Sep 7, 2026
b1208ad
feat(cron): allow assigning a Schedule-page folder when creating a cr…
Sep 7, 2026
5b57ef4
fix(slack): report the real dashboard link-click window, not the cons…
Sep 7, 2026
15084b5
feat(chat): add inline paste token composer (#8310)
Sep 7, 2026
ee3b8eb
fix(pod): scope pod kiro-cli oauth grants to the pod home (#8528)
Sep 7, 2026
6fb4df7
feat(members): open the last member on arrival, mirror it in the URL …
Sep 7, 2026
a468766
fix(members): dispatch server carries the gateway home override (#8611)
Sep 7, 2026
e7a4fce
fix(config): hold the sidecar advisory lock in KiroCrewConfig.save() …
Sep 7, 2026
8e878ba
feat: speak replies with the host's own engine, no install needed (#8…
Sep 7, 2026
d9abfb8
fix: persist the deferred-note hold with the slot so it survives a re…
Sep 7, 2026
3c9bf05
feat(knowledge): scope local_knowledge_search to a namespace (#9032)
Sep 7, 2026
ea9b6da
fix(portability): keep the export archive inside the crew directory (…
Sep 7, 2026
0e9b480
test(issue-radar): pin auto-nudge crew turns resolve their own identi…
Sep 7, 2026
15a9d8d
feat(connections): default-on launch with explicit card set (#9149)
Sep 7, 2026
6d4e2f8
fix(security): never waive exfil redaction for model-authored URLs (#…
Sep 7, 2026
11b3b9f
fix(dashboard): swipe navigation for multi-image viewer (#9190)
Sep 7, 2026
ee8c1c4
feat(chat): Formatted/Raw toggle on markdown content cards (#9224)
Sep 7, 2026
69018e4
perf(dev-fleet): skip npm ci and rebuild on a backend-only sync (#9227)
Sep 7, 2026
4eab570
fix(mcp): expand header value references in the remote probe (#9249)
Sep 7, 2026
b2aa3b1
fix(dashboard): mark inherited default agent on composer chips (#8770…
Sep 7, 2026
f654ad0
fix(usage): surface refused-transcript count so UNC home stops readin…
Sep 7, 2026
c45e1c2
fix(acp): derive fallback spellings when the model config-option push…
Sep 7, 2026
2847b5b
fix(bench): warm real embedder before KB evaluation (#9295)
Sep 7, 2026
b99d648
fix(session): pool health sweep heals an under-filled warm pool (#9307)
Sep 7, 2026
5780471
fix(usage): return zero statistics before the first session (#9305)
Sep 7, 2026
678fc32
fix(conductor): reject a non-boolean exists in a file acceptance (#9311)
Sep 7, 2026
b0bcade
fix(knowledge): publish the rebuilt entity graph by reference swap (#…
Sep 7, 2026
12ecd45
fix(usage): reconcile empty-session stats contract after #9305 collision
Sep 7, 2026
8e0aafe
feat(dashboard): focus the pending tool-approval row from the keyboard
Sep 6, 2026
785afb3
docs: stop the windows guide claiming a ci gateway check it skips (#7…
Sep 8, 2026
06cedfd
feat(cron): warn when timeout_secs is set below the reaper floor (#8373)
Sep 8, 2026
113ea47
feat(dashboard): reach the file viewer header path by keyboard, not o…
Sep 8, 2026
39b69d2
fix: gate adjudicator CLI floor, surface failed adjudication (#9234)
Sep 8, 2026
e368fd1
feat: add WakaTime coding-activity view with stats endpoint (#9240)
Sep 8, 2026
ae875f7
fix(chat): keep current request at prompt tail (#9259)
Sep 8, 2026
a21d112
feat(messaging): spool inbound messages the shutdown gate refuses, an…
Sep 8, 2026
e2efb9d
feat(conductor): isolate the work-ledger flow in a kirocrew-ledger-co…
Sep 8, 2026
aa75a40
fix(pipeline-conductor): stop the fleet probe naming a shell as the t…
Sep 8, 2026
eb3ea26
fix(dashboard): stop rewind's commit erasing mid-boundary arrivals
Sep 6, 2026
f19c1b6
fix(taskrunner): retry now validates and recovers a lost git worktree…
Sep 8, 2026
ad26e02
fix(dashboard): warn when redaction rewrites a URL in chat text (#8291)
Sep 8, 2026
af7f3e7
fix(security): judge a file edit by its target path, not by scanning …
Sep 8, 2026
193d24e
fix(deploy): stop the deploy lock opens from truncating the lock file…
Sep 8, 2026
ef38f4c
fix: stop recovery after question cards (#9320)
Sep 8, 2026
87be8d7
feat(dashboard): open a chat file in the user's editor via shell.open…
Sep 6, 2026
caf4c2a
feat(meetings): auto-split over-cap recordings on import instead of 413
Sep 7, 2026
1317792
ci: Gate pull requests on internal-content-scan, forks included (#9214)
Sep 8, 2026
47b7e10
fix(voice): preserve dictation and stream local speech reliably
Sep 7, 2026
7169c95
fix(security): close a substitution body on shell grammar, not a bare…
Sep 8, 2026
11daa63
chore(feature-videos): default off, and never offer a clip that is no…
Sep 8, 2026
af9a4b4
fix(acp): classify prose-spelled dispatch failure as transient (#9330)
Sep 8, 2026
acfa55d
chore(lint): gate history narration out of comments and docstrings (#…
Sep 8, 2026
1be5797
feat: security-conductor skill and first rules of engagement (#9271)
Sep 8, 2026
c4bca42
feat: opt-in ACP frame recorder (owner-only perms) (#9217)
Sep 8, 2026
772719d
fix(review): make Design/FP CONCERNS block the loop and reach the aut…
Sep 8, 2026
5134dce
feat: SQLite findings ledger for security conductor (#9270)
Sep 8, 2026
575a839
docs: add RFC for security conductor (#9195)
Sep 8, 2026
2f9ed97
fix(autonudge): let crew/member slots arm their own loops; report arm…
Sep 8, 2026
fd6684b
chore(test): drop unresolvable references from two security suites (#…
Sep 8, 2026
8a9c269
docs(rfc): one observation layer, one controller (#9339)
Sep 8, 2026
7177fa4
fix(test): security-conductor scripts guard now checks for stubs, not…
Sep 8, 2026
5ccd45e
fix(cron): confine channel agents from scheduling a privileged agent …
Sep 6, 2026
28e2ece
fix(ci): show a fork review body whose verdict stamp is missing
Sep 8, 2026
7fa305f
feat: add contributes.fileMenuItems app-manifest contribution (#7955)
Sep 8, 2026
faf4d9b
test(work-ledger): name the refusing validator in the binding-race test
Sep 8, 2026
ceb3130
Merge pull request #9300 from kirodotdev/feat/meetings-import-autospl…
Sep 8, 2026
262c51b
Merge pull request #9166 from kirodotdev/fix/members-dispatch-8073
Sep 8, 2026
b729581
Merge pull request #9049 from kirodotdev/fix/cron-agent-confinement-8371
Sep 8, 2026
ddf6ae5
Merge pull request #9007 from kirodotdev/feat/open-file-in-editor-8119
Sep 8, 2026
65551af
Merge pull request #8995 from kirodotdev/feat/focus-pending-approval-…
Sep 8, 2026
6f3c0a4
Merge pull request #8974 from kirodotdev/fix/edit-boundary-rewind-com…
Sep 8, 2026
c2452e3
Merge pull request #8579 from kirodotdev/fix/substitution-bodies-quot…
Sep 8, 2026
f76a5b0
Merge pull request #8482 from kirodotdev/fix/fork-review-surface-unst…
Sep 8, 2026
4180bce
fix(chat): keep a still reader at the bottom on phones without anchor…
Sep 8, 2026
3fd967b
docs(ec2): fix the ffmpeg ~/.local/bin hint in the EC2 guide (#8897) …
Sep 8, 2026
fcf280e
docs: record withdrawn break_glass override and managed-tier follow-u…
Sep 8, 2026
c02cdd6
chore(comments): drop the change-history narration main outgrew its b…
Sep 8, 2026
b6619e6
chore(pipeline-conductor): state the argv constraint in present tense…
Sep 8, 2026
2fab719
fix: make Feishu SDK lifecycle thread-safe (#9395)
Sep 8, 2026
e7db5f5
fix(aws-control): open lock files non-truncating before the acquire (…
Sep 8, 2026
1a6f7c8
fix: re-mark slot dirty unconditionally on rollback (#9215)
Sep 8, 2026
05c2e91
fix: word the grown comment-history count as inherited drift (#9386) …
Sep 8, 2026
8a97d42
fix: decode link preview html entities only once (#9400)
Sep 8, 2026
6fbb06b
test(frontend): deflake the linkify linearity guard (#9407)
Sep 8, 2026
2b060c1
test(release): skip the assembly-step tests where bash cannot run the…
Sep 8, 2026
9c5e35b
fix(ci): give Backend Lint 25 min so mypy is not cancelled mid-run (#…
Sep 8, 2026
50709c2
test(pipeline-conductor): reword one comment-history line to present …
Sep 8, 2026
1f8ba0b
fix(chat): don't arm a tab-reorder drag on a non-primary mouse button…
Sep 8, 2026
02d7a2d
fix(dashboard): release the composer drag suppression when the resize…
Sep 8, 2026
c36866c
fix: drop already-required spellings from search ranking-hint alts (#…
Sep 8, 2026
41dcadf
fix(auto-improvement): stop a junction widening the do-not-pollute sn…
Sep 8, 2026
53987e7
fix(pipeline-conductor): put the process age on the banned probe line…
Sep 8, 2026
ca102c0
fix: make run_bounded's timeout kill path Windows-safe (#9455) (#9466)
Sep 8, 2026
9c2b4b6
fix: apply shopper tag filters before limiting search results (#9471)
Sep 8, 2026
b47f1b9
build(deps): bump astral-sh/setup-uv from 9.0.0 to 10.0.1 (#6329)
Sep 8, 2026
2c424ac
fix(crash): stop child processes inheriting Crashpad, and delete thei…
Sep 8, 2026
c2c8361
docs(prepare-pr): rewrite the PR body from the whole diff each round,…
Sep 8, 2026
7d8fd50
fix(instances): stop the pane journal faking a remount storm; journal…
Sep 8, 2026
579b0b1
test(irq): pin the watch kernel's unguarded edge cases before the por…
Sep 8, 2026
fe05b42
feat: register kirocrew-security-conductor agent (#9273)
Sep 8, 2026
acc99f2
fix: restore file explorer context menu (#8014)
Sep 8, 2026
8534cbf
fix(knowledge): non-segment ** in .kiroignore must not cross a path s…
Sep 8, 2026
1192049
test(job-sdk): poll for the live entry after the terminal write (#9503)
Sep 8, 2026
54b3607
fix(codex): let a Bedrock-backed codex read ~/.aws/config inside its …
Sep 8, 2026
7ac17b8
fix(instances): journal stalled pane module-graph fetches; Retry rebu…
Sep 8, 2026
dde9895
fix(chat): carry attachment lists through the busy-slot queue (#9486)
Sep 8, 2026
eeac2c5
fix(chat): fold the compaction notice into a system card (#9449)
Sep 8, 2026
f3d7395
refactor(members): move the Crew Members data layer onto React Query …
Sep 8, 2026
c0dffbf
feat(settings): "Learn more" dialog per Feature Preview with real cap…
Sep 8, 2026
5843a1b
fix(members): render and deliver attachments in ChatPane sends (#9433…
Sep 8, 2026
ab4dcc1
fix(members): pencil right of the name opens the member editor; the D…
Sep 8, 2026
32bf72c
feat(connections): register industry-baseline batch 1, all launch-gat…
Sep 8, 2026
0e46234
fix(artifacts): stop the folder region painting a horizontal scrollba…
Sep 8, 2026
febf6c6
fix(protocol): keep a label closer only where it is matched or contin…
Sep 8, 2026
2629001
fix(dashboard): serialize reload teardown under the switch locks (#90…
Sep 8, 2026
818324b
fix: surface a sandbox fail-closed refusal instead of silence (#9274)
Sep 8, 2026
50cc659
fix(ci): bind fork AI-review readiness reads to PR+attempt external_i…
Sep 8, 2026
6ae7417
fix(a11y): expose question card option state via aria-pressed (#9492)…
Sep 8, 2026
8c6992f
ci: stop scheduling the test-durations refresh (#9511)
Sep 8, 2026
9af9543
fix(mcp-gateway): the daemon dies with its gateway and is never adopt…
Sep 8, 2026
37933a5
fix(dashboard): retry a 5xx on hashed assets so a burst cannot black-…
Sep 8, 2026
6fa5519
fix: charge the watcher's single-file sweep against the chunk budget …
Sep 8, 2026
5f22024
chore(bundle): re-measure the App chunk ceiling (3360 -> 3530 KB, ~5%…
Sep 8, 2026
cd3f7a8
fix(aws-control): resolve the consent card's key the way the operatio…
Sep 8, 2026
3af2a8b
feat(monitoring): give a monitor verdict room for its evidence (#9476)
Sep 8, 2026
3ff5b4c
feat(crews): pack-kind avatars and a shared appearance library API (#…
Sep 8, 2026
04f801d
feat: show a feature-intro video once at startup (#9169)
Sep 8, 2026
8efe194
feat: security-conductor evaluator scripts (scope_check, finding_entr…
Sep 8, 2026
fd89051
docs(conductor): rfc v3 -- shared board visibility and conductor-gate…
Sep 8, 2026
fb226a8
docs(review): collapse the First Principles inventory on every verdic…
Sep 8, 2026
d0e8dfc
fix(dashboard): retry the /vendor import-map stubs too, not just /ass…
Sep 8, 2026
f40d319
fix(members): commit the roster display order per membership, not per…
Sep 8, 2026
226f7e4
fix(dashboard): dismiss Connect-your-phone modal on nav and outside c…
Sep 8, 2026
d44607d
fix(ci): re-measure the drifted t-chunk bundle ceiling (#9529)
Sep 8, 2026
20df2d7
feat(aws-control): filter the Add accounts profile picker (#9477)
Sep 8, 2026
6c24f11
test: second side-effect audit — floor the systemd user session, pin …
Sep 8, 2026
2cb7357
refactor: move backend capability tables into agent_sdk (PR 3a) (#9381)
Sep 8, 2026
24ebf5b
fix: stop rendering an HTML error page as the error message (#9484)
Sep 8, 2026
e9a041d
fix(chat): drop replayed streaming chunks so live text can't stutter …
Sep 8, 2026
a1db7b2
fix(cron): classify ACP handshake timeout as transient by exception t…
Sep 8, 2026
c190fbe
fix(connections): open desktop approval in the default browser (#9535)
Sep 8, 2026
f036ab2
fix(pod-e2e): drop the full-pytest phase from the harness (#9558)
Sep 9, 2026
235c6b5
fix(chat): keep the pinned banner on the row that opened the turn (#9…
Sep 9, 2026
50fd665
refactor(chat-core): drop ChatPage's duplicate stop_event / notice / …
Sep 9, 2026
322c97e
chore(dashboard): strip history narration from comments (#9333)
Sep 9, 2026
ab3a5ac
docs: RFC security-conductor — golden paths, denial differential, sta…
Sep 9, 2026
d4e5929
fix(ci): give the fix-loop narrative its own job and clock (#9531)
Sep 9, 2026
7055411
fix(portability): vet zip inventory before import (#7273)
Sep 9, 2026
02921df
fix: offload knowledge-store DB calls off the event loop (#9596)
Sep 9, 2026
be22b89
fix(aws-control): render drive files through the dashboard's own file…
Sep 9, 2026
a208fa4
perf(dashboard): cut the shell's request fan-out from 254 assets to 1…
Sep 9, 2026
e5b2f20
fix(dashboard): report an armed structured monitor by entitlement, no…
Sep 9, 2026
2d3005c
feat(schedule): let the create form make a cheap cron, and say when i…
Sep 9, 2026
3897d75
fix(mcp): make a large edition MCP registry searchable (#9574)
Sep 9, 2026
53d14a8
fix(apps): declare every builtin's platform truthfully, and fix the W…
Sep 9, 2026
451761b
test: pin globals a rebound component impl may load (#9534) (#9605)
Sep 9, 2026
e060399
fix(assets): never cache a /assets/ 404 as immutable; surface and hea…
Sep 9, 2026
ef033df
fix(acp): fall back to a served model when the backend default is not…
Sep 9, 2026
8113a5a
ci: denial-differential gate for rule-tightening PRs (#9499)
Sep 9, 2026
07131cb
test: second five-run hygiene pass -- close the real-home escapes, ho…
Sep 9, 2026
8ef9103
test: bind self in the mkdir patch and drop the simulated O_BINARY bi…
Sep 9, 2026
ae0830e
fix(usage): report an unreadable sessions directory without dropping …
Sep 9, 2026
7fc888e
fix(connections): migrate the materialized pre-launch opt-out (#9600)
Sep 9, 2026
6980d4a
fix(discord): recognise a steer frame whose ack summary wrapped (#9631)
Sep 9, 2026
c210e30
fix(ssl): stop shadowing the Windows trust store for child processes …
Sep 9, 2026
5df112a
fix: strict-read governance boot flags fail-closed (#9207)
Sep 9, 2026
5122473
refactor(locks): route with-scoped lock opens through open_lock_file …
Sep 9, 2026
7901c91
fix: drop the restart pointer from the agent config hint (#9192)
Sep 9, 2026
efcc9b4
fix: restore stripped base64 padding on WeCom media aeskey (#9604)
Sep 9, 2026
d8b825f
fix(dashboard): re-decide mirror-link recipient auth after target res…
Sep 9, 2026
c7da73c
docs: make the README's channel list and capability claims match the …
Sep 9, 2026
aef4400
fix(cloud): resolve taskkill from the trusted system dirs, not PATH (…
Sep 9, 2026
70720ea
fix: allow managed-venv channel downgrades (#9304)
Sep 9, 2026
520f83f
test(bench): enlarge the KB golden set so the ruler can discriminate …
Sep 9, 2026
19cfd7c
fix(acp): let a kindless mcp tool call reach approval without a minte…
Sep 9, 2026
ce7efc3
fix(app-store): map catalog heroDetailRef and screenshotRefs into sto…
Sep 9, 2026
4c3ceb9
feat(chat): Add ARIA semantics to approval card controls (Req 2.5) (#…
Sep 9, 2026
7620479
fix(deploy): tell a failed profile scan apart from zero profiles (#9584)
Sep 9, 2026
3e98919
perf(chat): measure the composer's auto-size once per keystroke, not …
Sep 9, 2026
ebf9ffb
fix(workflows): bootstrap the platform context (#9066)
Sep 9, 2026
5a20118
refactor(chat-core): route issue-radar and auto-improvement seeds thr…
Sep 9, 2026
923fddf
refactor(appearances): move the pack store and bundle transfer into c…
Sep 9, 2026
8d959b1
fix(security): hook edit gate judges the diff content block path too …
Sep 9, 2026
20ae6d4
fix(members): show the roster patrol badge only while a loop is activ…
Sep 9, 2026
88a0595
feat(composer): ⌘↩ sends with the other busy action; Settings picks t…
Sep 9, 2026
029942d
ci: add advisory agentic GUI user-test lane on Xvfb via Bedrock (#9586)
Sep 9, 2026
8543abf
feat(shortcuts): registry + conventional ⌘/Ctrl defaults with Alt ali…
Sep 9, 2026
42ba5b2
fix(dashboard): Members DM Stop button settles a stale busy pane and …
Sep 9, 2026
04694ef
feat(chat): pinned-prompt banner sticks in ChatPane too (chat-core P5…
Sep 9, 2026
ca9a4c8
feat(kas): answer the engine's credential callback from Crew's own va…
Sep 9, 2026
67716d7
fix(members): roster "+" opens the new-member form directly (#9515)
Sep 9, 2026
f602560
fix(meetings): keep supplementary Unicode in a dictionary term from c…
Sep 9, 2026
c0cf53f
fix: patch _Server in workflows entrypoint tests (#9675) (#9682)
Sep 9, 2026
89885ea
fix(deps): pin electron js-yaml override to 4.3.2 for GHSA-2883-xcg3-…
Sep 9, 2026
5175ce5
test(work-ledger): pin the containment helper routing and prefix tole…
Sep 9, 2026
74b6b03
feat(papyrus): add writing-assistant skills to the builtin (#9435)
Sep 9, 2026
ab07d6e
fix(i18n): wait for a surface to go quiet before scanning it (#9709)
Sep 9, 2026
29f3a9e
test(chat): pin that credential redaction cannot manufacture a phanto…
Sep 9, 2026
2188f02
refactor(skill-providers): one search body, and drop the dead github …
Sep 9, 2026
49ce171
fix(overview): report a usage payload without sessions, not a TypeErr…
Sep 9, 2026
1e1349e
fix(members): hold the driving-sessions order across slots frames too…
Sep 9, 2026
2a2e17d
fix: provision app requirements via pip --target, surface pip failure…
Sep 9, 2026
dce80e6
fix(auto-improvement): publish only the commit the pipeline committed…
Sep 9, 2026
5bcda0c
feat(knowledge): cross-file cost ceiling for explicit imports (#9124)…
Sep 9, 2026
e2934e0
feat(diagnostics): add redacting kiro_cli_logs read tool (Refs #6023)…
Sep 9, 2026
5b785c7
feat(apps): default Library to enabled apps with a labelled show-all …
Sep 9, 2026
287a6ed
feat(command-bar): file a contributed command's session in its own fo…
Sep 9, 2026
c50ebfa
refactor(monitoring): type the probe boundary to a subject, not to Gi…
Sep 9, 2026
7aa97b6
docs(locks): correct the kept-inline lock-open comments (#9267) (#9661)
Sep 9, 2026
faf30c1
fix(segmented-control): stop the active pill from tracking a mid-anim…
Sep 9, 2026
29cfd4b
fix(ci): diff base to working tree for added lines in merge-ref ratch…
Sep 9, 2026
36f3822
fix(meetings): match a dictionary alias that starts or ends with punc…
Sep 9, 2026
e873396
fix(eval): save the eval report as utf-8, not the host code page (#9726)
Sep 9, 2026
16f2994
feat(dashboard): show a pre-boot failure panel, and gate chunk cycles…
Sep 9, 2026
3d3f926
test: third side-effect audit (macOS): undo-proof floor, PTY deadlock…
Sep 9, 2026
3a24ac4
refactor(chat-core): route the scene popover and feedback sends throu…
Sep 9, 2026
bd7d64b
feat(chat): Quote / Ask on selected text in ChatPane (Members + split…
Sep 9, 2026
23b2a87
fix(acp): verify the agent the --agent flag selected actually loaded …
Sep 9, 2026
90574a0
feat: preserve opaque inbound attachments (#3754)
Sep 9, 2026
910d777
feat(dashboard): add top-level /sessions page — bookmarkable session …
Sep 9, 2026
a3cbc8f
fix(work-ledger): retry a contended record read; make a test's ids sa…
Sep 9, 2026
9dccf57
fix(issue-radar): send Content-Type with glab api bodies (#9739)
Sep 9, 2026
e6ae297
feat: security-conductor golden-path corpus and verify_fix (#9500)
Sep 9, 2026
4fdf1ab
fix(chat): route a rejected 'auto' model to the picker and the defaul…
Sep 9, 2026
efb9fc4
refactor(apps): drop a shadow import and correct backend.py's comment…
Sep 9, 2026
8bc2507
fix(dashboard): prevent empty mobile dialog (#9733)
Sep 9, 2026
b6f0efa
docs(spec): one paradigm for every monitoring loop (#9368)
Sep 9, 2026
2a57e06
feat(members): dock the chat SidePanel beside the DM thread, first ta…
Sep 9, 2026
a0caa91
test(pod): paginable long-history seed scenario (Refs #4100) (#9415)
Sep 9, 2026
b93beba
feat(dashboard): repeat code block actions at the bottom of tall bloc…
Sep 9, 2026
5cb87fa
feat(agents): note under the create modal's template picker that the …
Sep 9, 2026
cafe054
feat(themes): custom loader art for installed packs (images, SVG, ani…
Sep 9, 2026
85b2ebb
feat(dashboard): add project_group_id slot field (Phase 1 plumb)
Sep 9, 2026
c255a4a
test(dashboard): round-trip tests for project_group_id slot field
Sep 9, 2026
1f6a387
docs(scan-log): paired-gate GO for project_group_id field plumb (c255…
Sep 10, 2026
b04ccba
feat(dashboard): projects.json store for project-coordination records
Sep 10, 2026
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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
17 changes: 10 additions & 7 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,27 @@
# file non-text disables newline conversion entirely.
*.pem -text

# Screenshots and other PNG assets are binary even when their compressed prefix
# happens not to contain a NUL byte. Git's heuristic otherwise renders some PNGs
# as text and applies whitespace/newline checks to compressed image bytes.
*.png binary
*.gif binary

# Shell scripts and the data files they parse must keep LF on every checkout.
# `core.autocrlf=true` is the Git-for-Windows default, so without this a Windows
# clone rewrites these to CRLF and two things break there and only there:
#
# - A `#!/usr/bin/env bash` script whose lines end in CRLF fails outright: the
# CR becomes part of the interpreter path or of every command argument.
# - A script that READS a line-oriented data file gets a trailing CR on every
# value. scrub-lint.sh reads scripts/scrub-allowlist.txt line by line and
# uses each line as a grep pattern; a trailing CR makes every pattern match
# nothing, so the entire allowlist silently goes dead and the gate reports
# failures for the exact references it is configured to permit. Silent
# because the file is only ever consumed as patterns -- nothing validates
# that an allowlist entry still matches anything.
# value, which silently changes the meaning of each one. Pin eol=lf on any
# such data file you add: the gate that used to be the worked example here
# read a pattern list this way, and a trailing CR made every pattern match
# nothing while still reporting success.
#
# eol=lf (not just `text`) pins the working-tree ending, so this holds regardless
# of the user's core.autocrlf.
*.sh text eol=lf
scripts/scrub-allowlist.txt text eol=lf
*.nsh text eol=lf

# The vendored-source integrity manifest hashes checkout bytes. Keep its text
Expand Down
148 changes: 148 additions & 0 deletions .github/ISSUE_TEMPLATE/app-store-listing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: App Store listing request
description: Request that your Kiro Crew app be listed in the official App Store catalog.
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
The official App Store catalog is maintainer-curated: its repository is
not publicly writable, so outside authors do not open the listing pull
request themselves. This issue is how you request a listing — a
maintainer authors the catalog entry from what you provide here.

Before filing, self-run the review checklist in
[publishing-guide.md section 14](https://github.com/kirodotdev/KiroCrew/blob/main/docs/app-kit/publishing-guide.md).
Your app repository must be public and git-cloneable so the publish
pipeline can resolve and pin a commit. If your app has any **executable**
surface (install scripts, backend, hooks, lifecycle scripts,
`detectInstalled`, `openCommand`), your README must say so: a user who
has not set `agent.apps_allow_third_party` to `true` in `config.json`
will see `app_execution_denied` rather than a working install (see
section 9).

- type: checkboxes
id: search
attributes:
label: Existing issues
options:
- label: I searched open issues and this app is not already listed or requested.
required: true

- type: input
id: name
attributes:
label: App name
description: >-
kebab-case, and must match the `name` in your `app.json`.
placeholder: commit-oracle
validations:
required: true

- type: input
id: git-url
attributes:
label: Git repository URL
description: >-
A public, git-cloneable URL for the app source.
placeholder: https://github.com/you/your-app
validations:
required: true

- type: input
id: ref
attributes:
label: Ref to pin
description: >-
The branch, tag, or commit SHA the publish pipeline should resolve and
pin. A specific SHA is safest; a branch or tag is fine and will be
resolved to the commit it points at.
placeholder: main, or a 40-character commit SHA
validations:
required: true

- type: input
id: display-name
attributes:
label: Display name
description: The human-readable name shown in the store.
placeholder: Commit Oracle
validations:
required: true

- type: textarea
id: summary
attributes:
label: Summary
description: >-
Plain text, no markdown. Two or three sentences describing what the app
does — this becomes the store `description`, which Discover truncates to
one or two lines and the detail page shows in full.
validations:
required: true

- type: input
id: categories-tags
attributes:
label: Category and tags
description: >-
Lowercase tags. These decide the app's Discover category (see section 3
of the publishing guide); pick tags that land it in the right one.
placeholder: developer-tools, code-quality, git, code-review
validations:
required: true

- type: input
id: author
attributes:
label: Author name and profile URL
description: >-
Shown as provenance next to the app's category and source. Include a
display name and a profile URL.
placeholder: reprodev — https://github.com/reprodev
validations:
required: true

- type: input
id: license
attributes:
label: License
description: SPDX identifier for the app's license.
placeholder: MIT
validations:
required: false

- type: textarea
id: entry-json
attributes:
label: Ready-to-paste entry (optional)
description: >-
If you have already drafted a published-schema catalog entry against the
schema served at `apps.crew.kiro.dev/official-registry.json`, paste it
here. This is a convenience for the maintainer authoring the entry — it
is not authoritative and the pipeline pins whatever commit it resolves.
render: json
validations:
required: false

- type: checkboxes
id: review-checklist
attributes:
label: Review checklist (self-attestation)
description: >-
These mirror the review checklist in section 14 of the publishing guide.
Confirm each item for your app.
options:
- label: "`app.json` validates: kebab-case `name`, semver `version`, all required fields non-empty."
required: true
- label: "No `..` or absolute paths in `agents`, `skills`, `sops`, `ui.entry`, `ui.pages[].entryPoint`, `backend.entryPoint`."
required: true
- label: "UI bundle built and committed (`ui/dist/index.mjs`) if the app ships a UI."
required: true
- label: "Agent JSON files are valid, and each skill `SKILL.md` has proper frontmatter."
required: true
- label: "Opaque icon committed, square, 512x512, plus a hero image (16:9), a detail banner, and at least one screenshot committed."
required: true
- label: "`README.md` documents what the app does, how to use it, and the `agent.apps_allow_third_party` prerequisite if any executable surface is present."
required: true
- label: "The app installs and enables cleanly from a local clone."
required: true
14 changes: 13 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,21 @@

<!-- Link to relevant issues, e.g. Fixes #123 -->

## Pattern harvest

<!-- REQUIRED for fix/revert PRs (PR Hygiene checks that this section is
present); delete this section otherwise. Every fixed defect is a chance
to stop its whole class: say whether this one generalizes.

One of:
Rule candidate: <semgrep | lint | review-prompt | agents-md>
Pattern: <one line, e.g. "sentinel return value used in boolean context">
or:
Not generalizable: <one line on why this defect is a one-off> -->

## Checklist

- [ ] Single commit with a Conventional Commits title (`feat|fix|docs|refactor|perf|test|chore|ci|build|revert: ...`)
- [ ] At most two commits (one is the norm), with a Conventional Commits title (`feat|fix|docs|refactor|perf|test|chore|ci|build|revert: ...`)
- [ ] Existing tests pass and new tests added for new functionality
- [ ] Self-review completed; code follows project style guidelines
- [ ] Documentation updated (if applicable)
Expand Down
82 changes: 82 additions & 0 deletions .github/agent-sdk-boundary-baseline.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Imports of the ACP layer from application code, as `<count> <path>`.
# Both `kiro_crew.acp` and `kiro_crew.providers` count: providers re-exports ACP
# shapes (LLMEvent and the EVENT_* constants), so watching only `acp` would let
# a consumer look migrated while still reading the backend's own types.
#
# The gate requires every OTHER file under src/ to be clean and none of these
# counts to grow, so the list can shrink but never grow.
#
# It is a floor, not a countdown to zero. Most of these consumers are expected
# to keep reading ACP directly: ACP is the foundation the SDK is built on, not
# a layer being hidden behind it. What the gate buys is that the dependency
# cannot SPREAD into a file that is clean today -- which is what makes it safe
# to consolidate provider-specific logic gradually instead of in one sweep.
#
# There is no inline opt-out marker: "this consumer legitimately needs ACP" is
# the claim the boundary refuses, so the baseline is the only exemption
# mechanism.
#
# Do NOT add or raise a line to make a red gate green -- route the dependency
# through kiro_crew.agent_sdk instead. Design of record:
# docs/request-for-change/rfc-crew-agent-sdk-boundary.md
#
# Refresh (after removing something listed here):
# python3 scripts/check_agent_sdk_boundary.py --update-baseline
1 src/kiro_crew/apps/builtins/auto_improvement/backend/pr_watchers.py
1 src/kiro_crew/apps/builtins/auto_improvement/backend/runner.py
1 src/kiro_crew/apps/builtins/auto_improvement/spine/agent_runner.py
1 src/kiro_crew/apps/builtins/code_review_sage/sage_lib/followup.py
2 src/kiro_crew/apps/builtins/code_review_sage/sage_lib/review_pool.py
1 src/kiro_crew/channel.py
3 src/kiro_crew/cli_chat.py
3 src/kiro_crew/cli_doctor.py
1 src/kiro_crew/cli_setup.py
1 src/kiro_crew/config/loader.py
1 src/kiro_crew/connections/mint.py
1 src/kiro_crew/cron.py
3 src/kiro_crew/dashboard/chat_handlers.py
4 src/kiro_crew/dashboard/chat_runner.py
1 src/kiro_crew/dashboard/chat_summary.py
1 src/kiro_crew/dashboard/chat_utils.py
2 src/kiro_crew/dashboard/handlers/agents.py
2 src/kiro_crew/dashboard/handlers/core.py
1 src/kiro_crew/dashboard/handlers/hooks.py
1 src/kiro_crew/dashboard/handlers/optimizer.py
2 src/kiro_crew/dashboard/handlers/sessions.py
1 src/kiro_crew/dashboard/handlers/side.py
1 src/kiro_crew/dashboard/handlers/taskrunner.py
1 src/kiro_crew/dashboard/handlers/usage.py
1 src/kiro_crew/dashboard/session_memory.py
1 src/kiro_crew/dashboard/stall_enrichment.py
1 src/kiro_crew/dashboard/state.py
1 src/kiro_crew/dashboard/steer_settle.py
1 src/kiro_crew/dashboard/turn_dispatch.py
1 src/kiro_crew/discord/renderer.py
1 src/kiro_crew/eval/judge.py
2 src/kiro_crew/eval/runner.py
1 src/kiro_crew/knowledge/llm_pool.py
5 src/kiro_crew/llm_helpers.py
1 src/kiro_crew/mcp_shared.py
1 src/kiro_crew/messaging/auto_title.py
1 src/kiro_crew/messaging/dispatch.py
1 src/kiro_crew/messaging/driver.py
12 src/kiro_crew/session.py
2 src/kiro_crew/session_allocation.py
2 src/kiro_crew/session_background.py
1 src/kiro_crew/session_cleanup.py
2 src/kiro_crew/session_compaction.py
1 src/kiro_crew/session_map.py
2 src/kiro_crew/session_pid.py
1 src/kiro_crew/session_pool.py
3 src/kiro_crew/slack/gateway.py
3 src/kiro_crew/slack/handler.py
1 src/kiro_crew/slack/transport_dispatch.py
7 src/kiro_crew/subagent.py
1 src/kiro_crew/subagent_manager/terminal.py
2 src/kiro_crew/subagent_persistence.py
2 src/kiro_crew/task_executor.py
1 src/kiro_crew/task_planner.py
1 src/kiro_crew/taskrunner.py
1 src/kiro_crew/telegram/transport_dispatch.py
1 src/kiro_crew/workflows/agent_pool.py
2 src/kiro_crew/workflows/service.py
Loading