define core frame vs shipped extension boundary (D-046)

Core frame builtins are infrastructure the shell can't function
without. Content extensions (editor, claude, canvas, etc.) are
bundled but architecturally removable — users swap the surface,
not the data.

Removes builtin.jira stub: Jira belongs as a third-party
extension, not a frame builtin. Git is a split component —
daemon-side process stays in frame, UI surfaces are extensions.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-04-22 22:07:04 +02:00
co-authored by Claude
parent 5aa153334d
commit 4f5d97ebc5
4 changed files with 19 additions and 19 deletions
-1
View File
@@ -1 +0,0 @@
export 'src/extension.dart';
-17
View File
@@ -1,17 +0,0 @@
import 'package:clide_app/extension/extension.dart';
/// Tier-0 stub. Real implementation lands in a later tier; the extension
/// is registered so the extensions-ui surface can list it as "installed,
/// not yet implemented" and its id is reserved.
class JiraExtension extends ClideExtension {
@override
String get id => 'builtin.jira';
@override
String get title => 'Jira';
@override
String get version => '0.0.0-stub';
@override
List<String> get dependsOn => const [];
@override
List<ContributionPoint> get contributions => const [];
}
+1 -1
View File
@@ -3,7 +3,7 @@
///
/// Admission rule: the kernel owns anything whose second concurrent user
/// would create incoherent state or divergent UX. External-interfacing
/// work generally belongs to extensions (git, pql, Linear, Jira);
/// work generally belongs to extensions (git, pql, Linear);
/// external-interfacing *singletons* (OS clipboard, tray, keychain)
/// belong here.
///