018-ui-design - #57
Conversation
- Add complete UI design specification (spec.md, plan.md, tasks.md) - Add research documentation (design tokens, error handling, component composition) - Add data model definitions for 14 entities (Theme, Profile, Skin, View, etc.) - Add developer quickstart guide with examples - Add UI design analysis and planning documents - Total: 76 tasks across 6 phases (~140 hours) - Coverage: 100% requirements mapped to tasks - Status: Ready for Phase 1 implementation Note: Go interface contracts will be implemented in pkg/ui/ during Phase 1
|
📊 Binary Size No significant change
|
1 similar comment
|
📊 Binary Size No significant change
|
There was a problem hiding this comment.
Go Benchmark
Details
| Benchmark suite | Current: a514789 | Previous: baa16c2 | Ratio |
|---|---|---|---|
BenchmarkEmbeddedCatalog_Load |
5431158 ns/op 972842 B/op 15985 allocs/op |
||
BenchmarkEmbeddedCatalog_Load - ns/op |
5431158 ns/op |
||
BenchmarkEmbeddedCatalog_Load - B/op |
972842 B/op |
||
BenchmarkEmbeddedCatalog_Load - allocs/op |
15985 allocs/op |
||
BenchmarkEmbeddedCatalog_LoadWithoutTemplateValidation |
2398306 ns/op 972600 B/op 15984 allocs/op |
||
BenchmarkEmbeddedCatalog_LoadWithoutTemplateValidation - ns/op |
2398306 ns/op |
||
BenchmarkEmbeddedCatalog_LoadWithoutTemplateValidation - B/op |
972600 B/op |
||
BenchmarkEmbeddedCatalog_LoadWithoutTemplateValidation - allocs/op |
15984 allocs/op |
||
BenchmarkEmbeddedCatalog_GetService |
27.77 ns/op 0 B/op 0 allocs/op |
||
BenchmarkEmbeddedCatalog_GetService - ns/op |
27.77 ns/op |
||
BenchmarkEmbeddedCatalog_GetService - B/op |
0 B/op |
||
BenchmarkEmbeddedCatalog_GetService - allocs/op |
0 allocs/op |
||
BenchmarkEmbeddedCatalog_GetServiceByAlias |
58.13 ns/op 0 B/op 0 allocs/op |
||
BenchmarkEmbeddedCatalog_GetServiceByAlias - ns/op |
58.13 ns/op |
||
BenchmarkEmbeddedCatalog_GetServiceByAlias - B/op |
0 B/op |
||
BenchmarkEmbeddedCatalog_GetServiceByAlias - allocs/op |
0 allocs/op |
||
BenchmarkEmbeddedCatalog_ListServices |
3837 ns/op 560 B/op 8 allocs/op |
||
BenchmarkEmbeddedCatalog_ListServices - ns/op |
3837 ns/op |
||
BenchmarkEmbeddedCatalog_ListServices - B/op |
560 B/op |
||
BenchmarkEmbeddedCatalog_ListServices - allocs/op |
8 allocs/op |
||
BenchmarkEmbeddedCatalog_ListServicesFiltered |
1257 ns/op 208 B/op 6 allocs/op |
||
BenchmarkEmbeddedCatalog_ListServicesFiltered - ns/op |
1257 ns/op |
||
BenchmarkEmbeddedCatalog_ListServicesFiltered - B/op |
208 B/op |
||
BenchmarkEmbeddedCatalog_ListServicesFiltered - allocs/op |
6 allocs/op |
||
BenchmarkEmbeddedCatalog_SuggestSimilar |
8525 ns/op 11775 B/op 136 allocs/op |
||
BenchmarkEmbeddedCatalog_SuggestSimilar - ns/op |
8525 ns/op |
||
BenchmarkEmbeddedCatalog_SuggestSimilar - B/op |
11775 B/op |
||
BenchmarkEmbeddedCatalog_SuggestSimilar - allocs/op |
136 allocs/op |
||
BenchmarkEmbeddedCatalog_RenderServiceTemplate |
7573 ns/op 4313 B/op 32 allocs/op |
||
BenchmarkEmbeddedCatalog_RenderServiceTemplate - ns/op |
7573 ns/op |
||
BenchmarkEmbeddedCatalog_RenderServiceTemplate - B/op |
4313 B/op |
||
BenchmarkEmbeddedCatalog_RenderServiceTemplate - allocs/op |
32 allocs/op |
||
BenchmarkEmbeddedCatalog_RenderDockerCompose |
56389 ns/op 33366 B/op 244 allocs/op |
||
BenchmarkEmbeddedCatalog_RenderDockerCompose - ns/op |
56389 ns/op |
||
BenchmarkEmbeddedCatalog_RenderDockerCompose - B/op |
33366 B/op |
||
BenchmarkEmbeddedCatalog_RenderDockerCompose - allocs/op |
244 allocs/op |
||
BenchmarkEmbeddedCatalog_MemoryUsage |
2356605 ns/op 972591 B/op 15984 allocs/op |
||
BenchmarkEmbeddedCatalog_MemoryUsage - ns/op |
2356605 ns/op |
||
BenchmarkEmbeddedCatalog_MemoryUsage - B/op |
972591 B/op |
||
BenchmarkEmbeddedCatalog_MemoryUsage - allocs/op |
15984 allocs/op |
||
BenchmarkTemplateRenderer_FirstRender |
80056 ns/op 35015 B/op 630 allocs/op |
||
BenchmarkTemplateRenderer_FirstRender - ns/op |
80056 ns/op |
||
BenchmarkTemplateRenderer_FirstRender - B/op |
35015 B/op |
||
BenchmarkTemplateRenderer_FirstRender - allocs/op |
630 allocs/op |
||
BenchmarkTemplateRenderer_CachedRender |
10954 ns/op 2456 B/op 39 allocs/op |
||
BenchmarkTemplateRenderer_CachedRender - ns/op |
10954 ns/op |
||
BenchmarkTemplateRenderer_CachedRender - B/op |
2456 B/op |
||
BenchmarkTemplateRenderer_CachedRender - allocs/op |
39 allocs/op |
||
BenchmarkEmbeddedCatalog_ConcurrentAccess |
40.38 ns/op 0 B/op 0 allocs/op |
||
BenchmarkEmbeddedCatalog_ConcurrentAccess - ns/op |
40.38 ns/op |
||
BenchmarkEmbeddedCatalog_ConcurrentAccess - B/op |
0 B/op |
||
BenchmarkEmbeddedCatalog_ConcurrentAccess - allocs/op |
0 allocs/op |
||
BenchmarkTemplateRenderer_RenderTemplate |
15261 ns/op 4314 B/op 32 allocs/op |
||
BenchmarkTemplateRenderer_RenderTemplate - ns/op |
15261 ns/op |
||
BenchmarkTemplateRenderer_RenderTemplate - B/op |
4314 B/op |
||
BenchmarkTemplateRenderer_RenderTemplate - allocs/op |
32 allocs/op |
||
BenchmarkTemplateRenderer_RenderTemplate_WithVars |
13110 ns/op 2922 B/op 40 allocs/op |
||
BenchmarkTemplateRenderer_RenderTemplate_WithVars - ns/op |
13110 ns/op |
||
BenchmarkTemplateRenderer_RenderTemplate_WithVars - B/op |
2922 B/op |
||
BenchmarkTemplateRenderer_RenderTemplate_WithVars - allocs/op |
40 allocs/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Small |
21401 ns/op 14681 B/op 97 allocs/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Small - ns/op |
21401 ns/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Small - B/op |
14681 B/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Small - allocs/op |
97 allocs/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Medium |
63688 ns/op 33933 B/op 227 allocs/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Medium - ns/op |
63688 ns/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Medium - B/op |
33933 B/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Medium - allocs/op |
227 allocs/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Large |
122770 ns/op 57096 B/op 440 allocs/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Large - ns/op |
122770 ns/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Large - B/op |
57096 B/op |
||
BenchmarkTemplateRenderer_RenderDockerCompose_Large - allocs/op |
440 allocs/op |
||
BenchmarkTemplateRenderer_ValidateTemplate |
16424 ns/op 11136 B/op 128 allocs/op |
||
BenchmarkTemplateRenderer_ValidateTemplate - ns/op |
16424 ns/op |
||
BenchmarkTemplateRenderer_ValidateTemplate - B/op |
11136 B/op |
||
BenchmarkTemplateRenderer_ValidateTemplate - allocs/op |
128 allocs/op |
||
BenchmarkTemplateRenderer_CacheHit |
7642 ns/op 4312 B/op 32 allocs/op |
||
BenchmarkTemplateRenderer_CacheHit - ns/op |
7642 ns/op |
||
BenchmarkTemplateRenderer_CacheHit - B/op |
4312 B/op |
||
BenchmarkTemplateRenderer_CacheHit - allocs/op |
32 allocs/op |
||
BenchmarkTemplateVars_Operations/Set |
15.37 ns/op 0 B/op 0 allocs/op |
||
BenchmarkTemplateVars_Operations/Set - ns/op |
15.37 ns/op |
||
BenchmarkTemplateVars_Operations/Set - B/op |
0 B/op |
||
BenchmarkTemplateVars_Operations/Set - allocs/op |
0 allocs/op |
||
BenchmarkTemplateVars_Operations/Get |
9.901 ns/op 0 B/op 0 allocs/op |
||
BenchmarkTemplateVars_Operations/Get - ns/op |
9.901 ns/op |
||
BenchmarkTemplateVars_Operations/Get - B/op |
0 B/op |
||
BenchmarkTemplateVars_Operations/Get - allocs/op |
0 allocs/op |
||
BenchmarkTemplateVars_Operations/GetString |
9.804 ns/op 0 B/op 0 allocs/op |
||
BenchmarkTemplateVars_Operations/GetString - ns/op |
9.804 ns/op |
||
BenchmarkTemplateVars_Operations/GetString - B/op |
0 B/op |
||
BenchmarkTemplateVars_Operations/GetString - allocs/op |
0 allocs/op |
||
BenchmarkTemplateVars_Operations/Has |
10.07 ns/op 0 B/op 0 allocs/op |
||
BenchmarkTemplateVars_Operations/Has - ns/op |
10.07 ns/op |
||
BenchmarkTemplateVars_Operations/Has - B/op |
0 B/op |
||
BenchmarkTemplateVars_Operations/Has - allocs/op |
0 allocs/op |
||
BenchmarkTemplateVars_Operations/Clone |
1016 ns/op 1192 B/op 3 allocs/op |
||
BenchmarkTemplateVars_Operations/Clone - ns/op |
1016 ns/op |
||
BenchmarkTemplateVars_Operations/Clone - B/op |
1192 B/op |
||
BenchmarkTemplateVars_Operations/Clone - allocs/op |
3 allocs/op |
||
BenchmarkTemplateVars_Operations/Merge |
1684 ns/op 1800 B/op 5 allocs/op |
||
BenchmarkTemplateVars_Operations/Merge - ns/op |
1684 ns/op |
||
BenchmarkTemplateVars_Operations/Merge - B/op |
1800 B/op |
||
BenchmarkTemplateVars_Operations/Merge - allocs/op |
5 allocs/op |
||
BenchmarkTemplateRenderer_Parallel |
6984 ns/op 3024 B/op 34 allocs/op |
||
BenchmarkTemplateRenderer_Parallel - ns/op |
6984 ns/op |
||
BenchmarkTemplateRenderer_Parallel - B/op |
3024 B/op |
||
BenchmarkTemplateRenderer_Parallel - allocs/op |
34 allocs/op |
||
BenchmarkResolveDependencies_Small |
2512 ns/op 328 B/op 30 allocs/op |
||
BenchmarkResolveDependencies_Small - ns/op |
2512 ns/op |
||
BenchmarkResolveDependencies_Small - B/op |
328 B/op |
||
BenchmarkResolveDependencies_Small - allocs/op |
30 allocs/op |
||
BenchmarkResolveDependencies_Medium |
8019 ns/op 3464 B/op 71 allocs/op |
||
BenchmarkResolveDependencies_Medium - ns/op |
8019 ns/op |
||
BenchmarkResolveDependencies_Medium - B/op |
3464 B/op |
||
BenchmarkResolveDependencies_Medium - allocs/op |
71 allocs/op |
||
BenchmarkResolveDependencies_Large |
11311 ns/op 4056 B/op 114 allocs/op |
||
BenchmarkResolveDependencies_Large - ns/op |
11311 ns/op |
||
BenchmarkResolveDependencies_Large - B/op |
4056 B/op |
||
BenchmarkResolveDependencies_Large - allocs/op |
114 allocs/op |
||
BenchmarkResolveDependencies_Deep |
4685 ns/op 3272 B/op 16 allocs/op |
||
BenchmarkResolveDependencies_Deep - ns/op |
4685 ns/op |
||
BenchmarkResolveDependencies_Deep - B/op |
3272 B/op |
||
BenchmarkResolveDependencies_Deep - allocs/op |
16 allocs/op |
||
BenchmarkResolveDependencies_Wide |
10938 ns/op 7432 B/op 21 allocs/op |
||
BenchmarkResolveDependencies_Wide - ns/op |
10938 ns/op |
||
BenchmarkResolveDependencies_Wide - B/op |
7432 B/op |
||
BenchmarkResolveDependencies_Wide - allocs/op |
21 allocs/op |
||
BenchmarkValidateDAG |
24427 ns/op 8792 B/op 275 allocs/op |
||
BenchmarkValidateDAG - ns/op |
24427 ns/op |
||
BenchmarkValidateDAG - B/op |
8792 B/op |
||
BenchmarkValidateDAG - allocs/op |
275 allocs/op |
||
BenchmarkBuildDependencyTree |
7383 ns/op 3680 B/op 116 allocs/op |
||
BenchmarkBuildDependencyTree - ns/op |
7383 ns/op |
||
BenchmarkBuildDependencyTree - B/op |
3680 B/op |
||
BenchmarkBuildDependencyTree - allocs/op |
116 allocs/op |
||
BenchmarkGetDependents |
884.9 ns/op 72 B/op 5 allocs/op |
||
BenchmarkGetDependents - ns/op |
884.9 ns/op |
||
BenchmarkGetDependents - B/op |
72 B/op |
||
BenchmarkGetDependents - allocs/op |
5 allocs/op |
||
BenchmarkResolveMultiple |
8301 ns/op 3496 B/op 75 allocs/op |
||
BenchmarkResolveMultiple - ns/op |
8301 ns/op |
||
BenchmarkResolveMultiple - B/op |
3496 B/op |
||
BenchmarkResolveMultiple - allocs/op |
75 allocs/op |
||
BenchmarkEmbeddedCatalog_ResolveDependencies |
383.5 ns/op 56 B/op 3 allocs/op |
||
BenchmarkEmbeddedCatalog_ResolveDependencies - ns/op |
383.5 ns/op |
||
BenchmarkEmbeddedCatalog_ResolveDependencies - B/op |
56 B/op |
||
BenchmarkEmbeddedCatalog_ResolveDependencies - allocs/op |
3 allocs/op |
||
BenchmarkEmbeddedCatalog_ValidateDAG |
14652 ns/op 7264 B/op 51 allocs/op |
||
BenchmarkEmbeddedCatalog_ValidateDAG - ns/op |
14652 ns/op |
||
BenchmarkEmbeddedCatalog_ValidateDAG - B/op |
7264 B/op |
||
BenchmarkEmbeddedCatalog_ValidateDAG - allocs/op |
51 allocs/op |
||
BenchmarkGenerate |
889125 ns/op 397640 B/op 5102 allocs/op |
||
BenchmarkGenerate - ns/op |
889125 ns/op |
||
BenchmarkGenerate - B/op |
397640 B/op |
||
BenchmarkGenerate - allocs/op |
5102 allocs/op |
||
BenchmarkGenerateWithAllFeatures |
1194425 ns/op 469956 B/op 7120 allocs/op |
||
BenchmarkGenerateWithAllFeatures - ns/op |
1194425 ns/op |
||
BenchmarkGenerateWithAllFeatures - B/op |
469956 B/op |
||
BenchmarkGenerateWithAllFeatures - allocs/op |
7120 allocs/op |
||
BenchmarkCleanGeneratedDir |
909600 ns/op 402292 B/op 5161 allocs/op |
||
BenchmarkCleanGeneratedDir - ns/op |
909600 ns/op |
||
BenchmarkCleanGeneratedDir - B/op |
402292 B/op |
||
BenchmarkCleanGeneratedDir - allocs/op |
5161 allocs/op |
||
BenchmarkInitialize |
493334 ns/op 258901 B/op 3335 allocs/op |
||
BenchmarkInitialize - ns/op |
493334 ns/op |
||
BenchmarkInitialize - B/op |
258901 B/op |
||
BenchmarkInitialize - allocs/op |
3335 allocs/op |
||
BenchmarkInitializeWithExistingWorkspace |
1011623 ns/op 447600 B/op 5886 allocs/op |
||
BenchmarkInitializeWithExistingWorkspace - ns/op |
1011623 ns/op |
||
BenchmarkInitializeWithExistingWorkspace - B/op |
447600 B/op |
||
BenchmarkInitializeWithExistingWorkspace - allocs/op |
5886 allocs/op |
||
BenchmarkDetectRoot |
1588 ns/op 456 B/op 13 allocs/op |
||
BenchmarkDetectRoot - ns/op |
1588 ns/op |
||
BenchmarkDetectRoot - B/op |
456 B/op |
||
BenchmarkDetectRoot - allocs/op |
13 allocs/op |
||
BenchmarkValidate |
24203 ns/op 14569 B/op 176 allocs/op |
||
BenchmarkValidate - ns/op |
24203 ns/op |
||
BenchmarkValidate - B/op |
14569 B/op |
||
BenchmarkValidate - allocs/op |
176 allocs/op |
||
BenchmarkValidateWithManyServices |
66069 ns/op 30872 B/op 467 allocs/op |
||
BenchmarkValidateWithManyServices - ns/op |
66069 ns/op |
||
BenchmarkValidateWithManyServices - B/op |
30872 B/op |
||
BenchmarkValidateWithManyServices - allocs/op |
467 allocs/op |
||
BenchmarkValidateMinimal |
14882 ns/op 10496 B/op 105 allocs/op |
||
BenchmarkValidateMinimal - ns/op |
14882 ns/op |
||
BenchmarkValidateMinimal - B/op |
10496 B/op |
||
BenchmarkValidateMinimal - allocs/op |
105 allocs/op |
This comment was automatically generated by workflow using github-action-benchmark.
- Move old pkg/ui/ to pkg/ui.legacy/ for reference during rebuild
- Create new pkg/ui/ structure:
- theme/embedded/{themes,profiles,skins}
- component/
- shell/
- engine/
- view/
- Add pkg/ui.legacy/ to .gitignore (kept locally for reference)
- Ready to begin theme system implementation (T003)
Old UI preserved locally for reference when porting:
- 10 theme YAMLs (T009)
- 10 profile YAMLs (T010)
- Component patterns and styling
- Animation configurations
Note: Skipping pre-commit (imports broken until UI rebuilt)
Created theme system with 7 core files: - theme.go, profile.go, skin.go (data structures) - errors.go (validation errors) - context.go (unified context + style helpers) - registry.go (style caching) - loader.go (YAML loading with embed.FS) Includes default YAML placeholders for themes/profiles/skins. Package compiles successfully. Note: go vet shows expected import errors for packages not yet rebuilt (T012-T040 pending).
…9-T011) T009 - Ported 10 themes from pkg/ui.legacy/: - cyan-purple, dracula, fire, gruvbox, matrix - monokai, nord, ocean, rainbow, solarized T010 - Ported 10 profiles from pkg/ui.legacy/: - bending, crystal, enterprise, horcrux, jedi - pirate, pokemon, saiyan, shinobi, triforce T011 - Created 2 new skins: - gh-dash.yaml: Sidebar navigation (GitHub Dashboard inspired) - minimal.yaml: Compact tab-bar layout User data preserved: - horcrux profile (with dracula theme) now available in new system - All legacy themes and profiles successfully migrated Testing: - Package compiles: go build ./pkg/ui/theme - 22 YAML files added (embedded with go:embed in loader.go) Status: T009-T011 complete. Ready for T012-T029 (component implementation).
- engine/: view, context, state, messages, keys, router, shell, launch - internal/app/bootstrap.go: EngineConfig() wires new engine from app.Context - pkg/ui/view/placeholder.go: Phase 1 milestone placeholder view - 96 files: redirect pkg/ui/* imports to pkg/ui.legacy/* (build fix) - pkg/cli/root.go: wire new engine as default UI (ARC_USE_LEGACY_UI=1 to opt out)
…(T048-T054) - view/home.go: Hero + quick actions + system info cards - view/services_list.go: Searchable catalog table with error display - view/service_detail.go: Service info card + dependency tree + back nav - root.go: Wire Home, ServicesList, ServiceDetail, Workspace, Config views - services/list.go: Focused mode via new engine (T052), JSON output unchanged (T053) - tasks.md: T048-T054 marked complete
… commands (T055-T062) - view/workspace_info.go: Workspace + State cards with live workspace detection - view/workspace_history.go: Operation history table (type/status/duration/errors) - view/version.go: Build metadata card (version/commit/date/go/platform) - root.go: Wire WorkspaceInfo, WorkspaceHistory, VersionView, remove legacy engine/views imports - workspace/info.go: Focused mode via new engine (T060), --json flag for structured output (T061) - arc version: --json outputs structured JSON, TUI uses new VersionView focused mode - tasks.md: T055-T062 all marked complete
- engine/view.go: Add optional NavHideable interface - engine/shell.go: Check NavHideable when building tab list - component/navigation.go: Add Hidden field to NavTab, filter hidden tabs before render - view/service_detail.go: Implement NavHidden() = true (detail view, not a tab)
…rs Think/Reason/Ultra Instinct - Rename skin gh-dash to arc (id, name, all code references) - Default profile tier names: Junior/Senior/Lead to Think/Reason/Ultra Instinct - Add ai.yaml profile (AI Reasoning, Think/Reason/Ultra Instinct) - Fix lint: extract emDash/keyEnter constants, gocritic/gosec nolints - Remove unused wsRunLogMsg type from workspace_run.go - Remove bogus free tier from init wizard, default to ultra-instinct - Update preferences, loader, engine state to use arc skin default
- Add 'default' theme to legacy validator standardThemes list - Copy default.yaml theme to pkg/ui.legacy/themes/embedded/ - Update TestInitialInitModel to expect selectedTierIndex=2 (Ultra Instinct) - Regenerate golden files for arc skin (testdata/golden/themes/*-arc.txt)
- Removed legacy UI components and styles from root command initialization. - Introduced a new function to determine if TUI should launch based on command flags. - Updated the info and list services to use new color styles instead of legacy styles. - Added theme management commands for listing, setting, and showing themes. - Refactored workspace history command to utilize new UI rendering. - Created a new logo component for rendering profile logos with optional descriptions. - Updated workspace formatter to resolve tier names using the new theme loader. - Marked tasks in the UI design specification as completed.
…w character-rainbow constant and clean up theme tests by disabling animations.
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
- Remove ARC_USE_LEGACY_UI guard from workspace/info.go, init.go, services/list.go - Rename ARC_USE_LEGACY_UI -> ARC_NO_TUI in workspace/run.go + pkg/ui/view/workspace_run.go (this env var signals subprocess to skip TUI, not about legacy display library) - Remove ARC_USE_LEGACY_UI guard from root.go version command - Clean up ARC_USE_LEGACY_UI unset calls from services integration tests - Delete docs-site/ (empty Hugo scaffold dirs, not tracked, safe removal) - Delete internal/terminal/ (183 lines, zero imports anywhere - dead code) - Delete internal/testing/ (1208 lines, zero imports anywhere - dead code)
…aceholder dirs - Delete internal/version/ (duplicate of pkg/version — same 3 ldflags vars) Update internal/branding/info.go to import pkg/version, GitCommit→Commit - Delete internal/app/backups/, history/, state/ (README.md-only dirs, no code)
- Extract version command from root.go into pkg/cli/version.go (newVersionCmd()) root.go drops 55 lines; unused imports encoding/json, runtime, pkg/version removed - Move specs/001-017 + specs/009-service-catalog to specs/archive/ Active specs/ now shows only 018-ui-design
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
- Updated `WithStore` function parameter name for clarity in `internal/app/options.go`. - Initialized `entries` with a capacity in `AppendJSON` method in `internal/state/serializer.go`. - Simplified character validation logic in `embedded_catalog_test.go`. - Enhanced error message formatting in `errors.go` for better readability. - Improved error handling in integration tests using `errors.As` in `integration_test.go`. - Replaced `fmt.Sprintf` with `fmt.Fprintf` for string building in `renderer.go` and `validator.go`. - Streamlined cycle chain building logic in `resolver.go`. - Updated circular dependency error handling in `resolver_property_test.go`. - Refactored UI rendering logic in `info.go`, `init.go`, and `deps.go` for better clarity. - Introduced new UI rendering functions in `info.go` and `service_detail.go`. - Consolidated version handling logic in `header.go`, `logo.go`, and `version.go`. - Improved theme loading error handling in `loader.go` and `profile.go`. - Added constants for versioning and error icons in `const.go`. - Enhanced error display components in `error.go` using new constants. - Updated tree rendering logic in `tree.go` for better maintainability. - Refactored workspace error messages in `errors.go` and `messages.go` for consistency. - Improved service mapping logic in `mapping.go` for clarity and maintainability.
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
… command test files
…ommand and PR sections; update profile logos and improve service status checks.
…uns alongside PRs
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
- pkg/ui/view/home.go: extract homeRenderPRRow helper to fix nestif; add homeGHTokenHint constant (goconst x3); preallocate lines slice; extract homeFetchPRs/Releases/CIRuns and homeRenderPR/Rel/CISection to reduce cyclomatic complexity; rename prColTtl -> prColTTL (revive); fix govet shadow (err -> decErr in fetch helpers); add accentC/mutedC raw color fields to homeTableSty - pkg/ui/view/workspace_info.go: add wsStatusOK/wsStatusFail constants - .github/workflows/ci.yml: fix setup-go@v6 -> setup-go@v5 (x6); add -ldflags="-s -w" to binary_size build steps; remove stale pages/id-token permissions from benchmark job - .github/workflows/reusable-build.yml: fix checkout@v6 -> checkout@v4, setup-go@v6 -> setup-go@v5 - .github/workflows/benchmark.yml: add push:branches:[main] trigger; remove dual-write conflict (deploy-pages job)
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
- ci.yml: bump golangci-lint v1.64 -> v2.10.1 (config uses v2 format) - ci.yml: fix CORE_PKGS - remove 6 non-existent pkg/ui/* paths; use ./pkg/ui/component/... ./pkg/ui/theme/... (actual paths) - ci.yml: lychee --exclude 'conventionalcommits\.org' (network-resets on GH runners) - ci.yml: add G703 to gosec exclude list (pre-existing path traversal taint analysis in store/root, not introduced by this PR) - .typos.toml: add Ratatui as allowed word (Rust TUI framework name) - docs/developer/cli-rewrite-discussion.md: fix 'interace' -> 'interface'
pkg/ui/component/markdown.go was the only consumer of glamour and was itself never called anywhere in the codebase. Deleting it drops all glamour transitive deps (goldmark, chroma, regexp2, bluemonday, etc.) which were the top 3 binary size contributors (1430 + 524 + 147 syms). - Remove pkg/ui/component/markdown.go (dead code, zero callers) - go mod tidy: drops glamour v0.10.0 and 8 transitive deps (goldmark, goldmark-emoji, chroma, regexp2, bluemonday, reflow, douceur, gorilla/css, aymerick/douceur) - ci.yml: tighten binary size limit 20MB -> 13MB (~2MB headroom)
|
📈 Binary Size Size increased
|
1 similar comment
|
📈 Binary Size Size increased
|
- ci.yml: golangci-lint-action@v6 -> @v7 (v6 rejects golangci-lint v2.x) - codeql.yml: disable auto-triggers (push/PR/schedule -> workflow_dispatch only); re-enable manually when needed - docs/user-guides/workspace-tiers.md: remove dead link to specs/011-workspace-orchestration-deep/quickstart.md (file never existed) - README.md: remove dead link to specs/017-ui-engine/quickstart.md (file never existed)
|
📈 Binary Size Size increased
|
…ements and additional examples
|
📈 Binary Size Size increased
|
2 similar comments
|
📈 Binary Size Size increased
|
|
📈 Binary Size Size increased
|
Note: Go interface contracts will be implemented in pkg/ui/ during Phase 1
Description
Type of Change
Related Issue
Fixes #
Changes Made
Testing
Checklist
Screenshots (if applicable)
Additional Notes