checkpoint: pre-split branch cleanup
This commit is contained in:
parent
4c2ae2e5b7
commit
b5db7a7753
276 changed files with 35912 additions and 60119 deletions
|
|
@ -1,23 +1,23 @@
|
|||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) post-checkout hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hook post-checkout' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
#
|
||||
# The 'bd hook' command (singular) supports:
|
||||
# - Guard against frequent firing (only imports if JSONL changed)
|
||||
# - Per-worktree state tracking
|
||||
# - Dolt branch-then-merge pattern
|
||||
# - Hook chaining configuration
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
# Silently skip - post-checkout is called frequently
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hook post-checkout "$@"
|
||||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) post-checkout hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hook post-checkout' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
#
|
||||
# The 'bd hook' command (singular) supports:
|
||||
# - Guard against frequent firing (only imports if JSONL changed)
|
||||
# - Per-worktree state tracking
|
||||
# - Dolt branch-then-merge pattern
|
||||
# - Hook chaining configuration
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
# Silently skip - post-checkout is called frequently
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hook post-checkout "$@"
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) post-merge hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hook post-merge' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
#
|
||||
# The 'bd hook' command (singular) supports:
|
||||
# - Branch-then-merge pattern for Dolt (cell-level conflict resolution)
|
||||
# - Per-worktree state tracking
|
||||
# - Hook chaining configuration
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping post-merge hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hook post-merge "$@"
|
||||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) post-merge hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hook post-merge' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
#
|
||||
# The 'bd hook' command (singular) supports:
|
||||
# - Branch-then-merge pattern for Dolt (cell-level conflict resolution)
|
||||
# - Per-worktree state tracking
|
||||
# - Hook chaining configuration
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping post-merge hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hook post-merge "$@"
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
#!/usr/bin/env sh
|
||||
# bd-shim v2
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) pre-commit hook — thin shim
|
||||
#
|
||||
# Delegates to 'bd hook pre-commit' which contains the actual hook logic.
|
||||
# This pattern ensures hook behavior is always in sync with the installed
|
||||
# bd version — no manual updates needed.
|
||||
#
|
||||
# The 'bd hook' command supports:
|
||||
# - Per-worktree export state tracking
|
||||
# - Dolt in-process export (no lock deadlocks)
|
||||
# - Sync-branch routing
|
||||
# - Hook chaining configuration
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping pre-commit hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hook pre-commit "$@"
|
||||
#!/usr/bin/env sh
|
||||
# bd-shim v2
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) pre-commit hook — thin shim
|
||||
#
|
||||
# Delegates to 'bd hook pre-commit' which contains the actual hook logic.
|
||||
# This pattern ensures hook behavior is always in sync with the installed
|
||||
# bd version — no manual updates needed.
|
||||
#
|
||||
# The 'bd hook' command supports:
|
||||
# - Per-worktree export state tracking
|
||||
# - Dolt in-process export (no lock deadlocks)
|
||||
# - Sync-branch routing
|
||||
# - Hook chaining configuration
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping pre-commit hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hook pre-commit "$@"
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) pre-push hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hooks run pre-push' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping pre-push hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hooks run pre-push "$@"
|
||||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.53.0
|
||||
#
|
||||
# bd (beads) pre-push hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hooks run pre-push' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping pre-push hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hooks run pre-push "$@"
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.48.0
|
||||
#
|
||||
# bd (beads) prepare-commit-msg hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hooks run prepare-commit-msg' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
#
|
||||
# Arguments:
|
||||
# $1 = path to the commit message file
|
||||
# $2 = source of commit message (message, template, merge, squash, commit)
|
||||
# $3 = commit SHA-1 (if -c, -C, or --amend)
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping prepare-commit-msg hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hooks run prepare-commit-msg "$@"
|
||||
#!/usr/bin/env sh
|
||||
# bd-shim v1
|
||||
# bd-hooks-version: 0.48.0
|
||||
#
|
||||
# bd (beads) prepare-commit-msg hook - thin shim
|
||||
#
|
||||
# This shim delegates to 'bd hooks run prepare-commit-msg' which contains
|
||||
# the actual hook logic. This pattern ensures hook behavior is always
|
||||
# in sync with the installed bd version - no manual updates needed.
|
||||
#
|
||||
# Arguments:
|
||||
# $1 = path to the commit message file
|
||||
# $2 = source of commit message (message, template, merge, squash, commit)
|
||||
# $3 = commit SHA-1 (if -c, -C, or --amend)
|
||||
|
||||
# Check if bd is available
|
||||
if ! command -v bd >/dev/null 2>&1; then
|
||||
echo "Warning: bd command not found in PATH, skipping prepare-commit-msg hook" >&2
|
||||
echo " Install bd: brew install beads" >&2
|
||||
echo " Or add bd to your PATH" >&2
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec bd hooks run prepare-commit-msg "$@"
|
||||
|
|
|
|||
3
.beads/agent.txt
Normal file
3
.beads/agent.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
✓ Created issue: beadboard-8bs — Agent: Antigravity Graph Orchestrator
|
||||
Priority: P0
|
||||
Status: open
|
||||
61
.beads/create_help.txt
Normal file
61
.beads/create_help.txt
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
Create a new issue (or multiple issues from markdown file)
|
||||
|
||||
Usage:
|
||||
bd create [title] [flags]
|
||||
|
||||
Aliases:
|
||||
create, new
|
||||
|
||||
Flags:
|
||||
--acceptance string Acceptance criteria
|
||||
--agent-rig string Agent's rig name (requires --type=agent)
|
||||
--append-notes string Append to existing notes (with newline separator)
|
||||
-a, --assignee string Assignee
|
||||
--body-file string Read description from file (use - for stdin)
|
||||
--defer string Defer until date (issue hidden from bd ready until then). Same formats as --due
|
||||
--deps strings Dependencies in format 'type:id' or 'id' (e.g., 'discovered-from:bd-20,blocks:bd-15' or 'bd-20')
|
||||
-d, --description string Issue description
|
||||
--design string Design notes
|
||||
--dry-run Preview what would be created without actually creating
|
||||
--due string Due date/time. Formats: +6h, +1d, +2w, tomorrow, next monday, 2025-01-15
|
||||
--ephemeral Create as ephemeral (short-lived, subject to TTL compaction)
|
||||
-e, --estimate int Time estimate in minutes (e.g., 60 for 1 hour)
|
||||
--event-actor string Entity URI who caused this event (requires --type=event)
|
||||
--event-category string Event category (e.g., patrol.muted, agent.started) (requires --type=event)
|
||||
--event-payload string Event-specific JSON data (requires --type=event)
|
||||
--event-target string Entity URI or bead ID affected (requires --type=event)
|
||||
--external-ref string External reference (e.g., 'gh-9', 'jira-ABC')
|
||||
-f, --file string Create multiple issues from markdown file
|
||||
--force Force creation even if prefix doesn't match database prefix
|
||||
-h, --help help for create
|
||||
--id string Explicit issue ID (e.g., 'bd-42' for partitioning)
|
||||
-l, --labels strings Labels (comma-separated)
|
||||
--metadata string Set custom metadata (JSON string or @file.json to read from file)
|
||||
--mol-type string Molecule type: swarm (multi-polecat), patrol (recurring ops), work (default)
|
||||
--no-inherit-labels Don't inherit labels from parent issue
|
||||
--notes string Additional notes
|
||||
--parent string Parent issue ID for hierarchical child (e.g., 'bd-a3f8e9')
|
||||
--prefix string Create issue in rig by prefix (e.g., --prefix bd- or --prefix bd or --prefix beads)
|
||||
-p, --priority string Priority (0-4 or P0-P4, 0=highest) (default "2")
|
||||
--repo string Target repository for issue (overrides auto-routing)
|
||||
--rig string Create issue in a different rig (e.g., --rig beads)
|
||||
--silent Output only the issue ID (for scripting)
|
||||
--spec-id string Link to specification document
|
||||
--title string Issue title (alternative to positional argument)
|
||||
-t, --type string Issue type (bug|feature|task|epic|chore|decision); custom types require types.custom config; aliases: enhancement/feat→feature, dec/adr→decision (default "task")
|
||||
--validate Validate description contains required sections for issue type
|
||||
--waits-for string Spawner issue ID to wait for (creates waits-for dependency for fanout gate)
|
||||
--waits-for-gate string Gate type: all-children (wait for all) or any-children (wait for first) (default "all-children")
|
||||
--wisp-type string Wisp type for TTL-based compaction: heartbeat, ping, patrol, gc_report, recovery, error, escalation
|
||||
|
||||
Global Flags:
|
||||
--actor string Actor name for audit trail (default: $BD_ACTOR, git user.name, $USER)
|
||||
--allow-stale Allow operations on potentially stale data (skip staleness check)
|
||||
--db string Database path (default: auto-discover .beads/*.db)
|
||||
--dolt-auto-commit string Dolt auto-commit policy (off|on|batch). 'on': commit after each write. 'batch': defer commits to bd sync / bd dolt commit; uncommitted changes persist in the working set until then. SIGTERM/SIGHUP flush pending batch commits. Default: off. Override via config key dolt.auto-commit
|
||||
--json Output in JSON format
|
||||
--profile Generate CPU profile for performance analysis
|
||||
-q, --quiet Suppress non-essential output (errors only)
|
||||
--readonly Read-only mode: block write operations (for worker sandboxes)
|
||||
--sandbox Sandbox mode: disables auto-sync
|
||||
-v, --verbose Enable verbose/debug output
|
||||
1
.beads/debug.txt
Normal file
1
.beads/debug.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
✓ Updated issue: beadboard-txj.2 — Apply Status Colors and Transitive Context to Graph Edges
|
||||
42
.beads/dep_help.txt
Normal file
42
.beads/dep_help.txt
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
Manage dependencies between issues.
|
||||
|
||||
When called with an issue ID and --blocks flag, creates a blocking dependency:
|
||||
bd dep <blocker-id> --blocks <blocked-id>
|
||||
|
||||
This is equivalent to:
|
||||
bd dep add <blocked-id> <blocker-id>
|
||||
|
||||
Examples:
|
||||
bd dep bd-xyz --blocks bd-abc # bd-xyz blocks bd-abc
|
||||
bd dep add bd-abc bd-xyz # Same as above (bd-abc depends on bd-xyz)
|
||||
|
||||
Usage:
|
||||
bd dep [issue-id] [flags]
|
||||
bd dep [command]
|
||||
|
||||
Available Commands:
|
||||
add Add a dependency
|
||||
cycles Detect dependency cycles
|
||||
list List dependencies or dependents of an issue
|
||||
relate Create a bidirectional relates_to link between issues
|
||||
remove Remove a dependency
|
||||
tree Show dependency tree
|
||||
unrelate Remove a relates_to link between issues
|
||||
|
||||
Flags:
|
||||
-b, --blocks string Issue ID that this issue blocks (shorthand for: bd dep add <blocked> <blocker>)
|
||||
-h, --help help for dep
|
||||
|
||||
Global Flags:
|
||||
--actor string Actor name for audit trail (default: $BD_ACTOR, git user.name, $USER)
|
||||
--allow-stale Allow operations on potentially stale data (skip staleness check)
|
||||
--db string Database path (default: auto-discover .beads/*.db)
|
||||
--dolt-auto-commit string Dolt auto-commit policy (off|on|batch). 'on': commit after each write. 'batch': defer commits to bd sync / bd dolt commit; uncommitted changes persist in the working set until then. SIGTERM/SIGHUP flush pending batch commits. Default: off. Override via config key dolt.auto-commit
|
||||
--json Output in JSON format
|
||||
--profile Generate CPU profile for performance analysis
|
||||
-q, --quiet Suppress non-essential output (errors only)
|
||||
--readonly Read-only mode: block write operations (for worker sandboxes)
|
||||
--sandbox Sandbox mode: disables auto-sync
|
||||
-v, --verbose Enable verbose/debug output
|
||||
|
||||
Use "bd dep [command] --help" for more information about a command.
|
||||
|
|
@ -1 +1 @@
|
|||
3840
|
||||
1910
|
||||
|
|
@ -1 +0,0 @@
|
|||
1772407425
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1 +0,0 @@
|
|||
60816
|
||||
|
|
@ -1 +0,0 @@
|
|||
3307
|
||||
3
.beads/epic_create.txt
Normal file
3
.beads/epic_create.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
✓ Created issue: beadboard-txj — Epic: Enhanced Graph Edge Visualization
|
||||
Priority: P0
|
||||
Status: open
|
||||
60
.beads/lint_output.txt
Normal file
60
.beads/lint_output.txt
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
|
||||
> beadboard@0.1.0 lint
|
||||
> eslint .
|
||||
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\.beads\fix.js
|
||||
1:12 error A `require()` style import is forbidden @typescript-eslint/no-require-imports
|
||||
2:14 error A `require()` style import is forbidden @typescript-eslint/no-require-imports
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\.beads\fix2.js
|
||||
1:12 error A `require()` style import is forbidden @typescript-eslint/no-require-imports
|
||||
2:14 error A `require()` style import is forbidden @typescript-eslint/no-require-imports
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\activity\activity-panel.tsx
|
||||
285:16 warning 'e' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\activity\swarm-command-feed.tsx
|
||||
83:22 warning 'e' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\graph\dependency-graph-page.tsx
|
||||
641:17 warning 'unused_' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\graph\smart-dag.tsx
|
||||
38:15 warning 'hideClosedProp' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
56:45 warning '_id' is defined but never used @typescript-eslint/no-unused-vars
|
||||
62:44 warning '_id' is defined but never used @typescript-eslint/no-unused-vars
|
||||
84:5 warning 'signalById' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
85:5 warning 'cycleNodeIdSet' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
87:5 warning 'blockerTooltipMap' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
170:53 warning 'shouldOpenDrawer' is defined but never used @typescript-eslint/no-unused-vars
|
||||
176:9 warning 'selectedIssue' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\shared\top-bar.tsx
|
||||
93:82 warning 'toggleBlockedOnly' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\shared\unified-shell.tsx
|
||||
42:55 warning 'panel' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\shared\workflow-graph.tsx
|
||||
251:17 warning 'unused_' is assigned a value but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\social\social-card.tsx
|
||||
116:3 warning 'onOpenThread' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\swarm\swarm-detail.tsx
|
||||
4:15 warning 'SwarmCardData' is defined but never used @typescript-eslint/no-unused-vars
|
||||
6:10 warning 'cn' is defined but never used @typescript-eslint/no-unused-vars
|
||||
53:16 warning 'e' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\components\swarm\swarm-page.tsx
|
||||
18:53 warning 'LayoutGrid' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\hooks\use-mission-graph.ts
|
||||
33:16 warning '_e' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
C:\Users\Zenchant\codex\beadboard\src\hooks\use-swarm-topology.ts
|
||||
35:16 warning '_err' is defined but never used @typescript-eslint/no-unused-vars
|
||||
|
||||
Γ£û 25 problems (4 errors, 21 warnings)
|
||||
|
||||
123
.beads/mem.txt
Normal file
123
.beads/mem.txt
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
✓ beadboard-116 · [MEMORY][WORKFLOW][HARD] Evidence before completion claims [● P1 · CLOSED]
|
||||
Owner: ZenchantLive · Type: decision
|
||||
Created: 2026-03-02 · Updated: 2026-03-02
|
||||
Close reason: Ratified canonical memory
|
||||
|
||||
DESCRIPTION
|
||||
Scope: All new implementation tasks that change behavior or data flow.
|
||||
Out of Scope: Purely informational discussions without code or workflow changes.
|
||||
Rule: Start from explicit verification evidence and update work state in bd before claiming progress complete.
|
||||
Rationale: Prevents status drift and false completion claims.
|
||||
Failure Mode: Unverified completion claims lead to regressions and mistrust.
|
||||
|
||||
|
||||
NOTES
|
||||
Provenance linked: bb-92d.6, beadboard-jgy, beadboard-yz6
|
||||
|
||||
ACCEPTANCE CRITERIA
|
||||
Given an implementation task, when work begins and ends, then bd state transitions and verification command evidence are recorded.
|
||||
Verification command(s): bd show <task-id>; npm run typecheck; npm run lint; npm run test
|
||||
|
||||
LABELS: mem-canonical, mem-hard, memory, memory-workflow
|
||||
|
||||
METADATA
|
||||
domain: memory-workflow
|
||||
effective_date: 2026-03-02
|
||||
evidence_ids: bb-92d.6,beadboard-jgy,beadboard-yz6
|
||||
memory_strength: hard
|
||||
memory_version: 1
|
||||
owner: team
|
||||
plan_refs: docs/plans/2026-03-01-beads-native-memory.md,docs/plans/2026-03-02-bd-memory-fabric-design.md
|
||||
superseded_by: null
|
||||
supersedes: null
|
||||
|
||||
RELATED
|
||||
↔ ✓ bb-92d.6: Add guardrail test preventing direct writes to .beads/issues.jsonl ● P0
|
||||
↔ ✓ beadboard-jgy: Document memory workflow in help/memory and AGENTS manuals ● P1
|
||||
↔ ○ beadboard-nq9: (EPIC) [MEMORY-ANCHOR] Workflow Protocol ● P1
|
||||
↔ ✓ beadboard-yz6: Bootstrap Phase 1 Memory Fabric (anchors + canonical nodes) ● P1
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────
|
||||
|
||||
✓ beadboard-60a · [MEMORY][ARCH][HARD] Dependencies model execution order, not visual order [● P1 · CLOSED]
|
||||
Owner: ZenchantLive · Type: decision
|
||||
Created: 2026-03-02 · Updated: 2026-03-02
|
||||
Close reason: Ratified canonical memory
|
||||
|
||||
DESCRIPTION
|
||||
Scope: Dependency graph design and updates.
|
||||
Out of Scope: Visual layout decisions that do not alter execution semantics.
|
||||
Rule: Dependencies encode execution order and blocking semantics, never visual grouping.
|
||||
Rationale: Keeps ready/blocked states truthful and machine-reliable.
|
||||
Failure Mode: Incorrect dependency direction causes false blocking or unsafe parallelism.
|
||||
|
||||
|
||||
NOTES
|
||||
Provenance linked: bb-bvn, beadboard-r1i, beadboard-68k
|
||||
|
||||
ACCEPTANCE CRITERIA
|
||||
Given a dependency update, when graph state is queried, then blocked/ready outcomes match intended execution order.
|
||||
Verification command(s): bd dep tree <issue-id>; bd blocked; bd ready
|
||||
|
||||
LABELS: mem-canonical, mem-hard, memory, memory-arch
|
||||
|
||||
METADATA
|
||||
domain: memory-arch
|
||||
effective_date: 2026-03-02
|
||||
evidence_ids: bb-bvn,beadboard-r1i,beadboard-68k
|
||||
memory_strength: hard
|
||||
memory_version: 1
|
||||
owner: team
|
||||
plan_refs: docs/plans/2026-02-22-dag-views-ux-design.md
|
||||
superseded_by: null
|
||||
supersedes: null
|
||||
|
||||
RELATED
|
||||
↔ ✓ bb-bvn: Dependency Graph (React Flow) ● P0
|
||||
↔ ✓ beadboard-68k: Phase 0: UX Wiring Fixes ● P0
|
||||
↔ ○ beadboard-76p: (EPIC) [MEMORY-ANCHOR] Architecture ● P1
|
||||
↔ ✓ beadboard-r1i: Phase 1: Contextual Right Panel ● P0
|
||||
|
||||
|
||||
────────────────────────────────────────────────────────────
|
||||
|
||||
✓ beadboard-zas · [MEMORY][ARCH][HARD] Shared logic for cross-view behavior [● P1 · CLOSED]
|
||||
Owner: ZenchantLive · Type: decision
|
||||
Created: 2026-03-02 · Updated: 2026-03-02
|
||||
Close reason: Ratified canonical memory
|
||||
|
||||
DESCRIPTION
|
||||
Scope: Repeated logic used by multiple views or pages.
|
||||
Out of Scope: One-off prototypes and disposable experiments.
|
||||
Rule: Reuse shared paths/components for cross-view behavior; avoid one-off logic drift.
|
||||
Rationale: Prevents silent divergence between Kanban, Graph, and API views.
|
||||
Failure Mode: Patching one surface only creates inconsistent user behavior.
|
||||
|
||||
|
||||
NOTES
|
||||
Provenance linked: beadboard-68k.4, beadboard-68k.5, beadboard-r1i.1
|
||||
|
||||
ACCEPTANCE CRITERIA
|
||||
Given a behavior change touching multiple views, when implementation lands, then shared logic path is reused and covered by tests.
|
||||
Verification command(s): rg "<shared-function-or-hook>" src tests; npm run test
|
||||
|
||||
LABELS: mem-canonical, mem-hard, memory, memory-arch
|
||||
|
||||
METADATA
|
||||
domain: memory-arch
|
||||
effective_date: 2026-03-02
|
||||
evidence_ids: beadboard-68k.4,beadboard-68k.5,beadboard-r1i.1
|
||||
memory_strength: hard
|
||||
memory_version: 1
|
||||
owner: team
|
||||
plan_refs: docs/plans/2026-02-22-dag-views-ux-design.md,docs/plans/2026-02-15-unified-ux-prd.md
|
||||
superseded_by: null
|
||||
supersedes: null
|
||||
|
||||
RELATED
|
||||
↔ ✓ beadboard-68k.4: Fix thread drawer status badge (hardcoded 'In Progress') ● P0
|
||||
↔ ✓ beadboard-68k.5: Wire TopBar metric tiles from live issue data ● P0
|
||||
↔ ○ beadboard-76p: (EPIC) [MEMORY-ANCHOR] Architecture ● P1
|
||||
↔ ✓ beadboard-r1i.1: Extend ContextualRightPanel props and thread taskId/swarmId from shell ● P0
|
||||
|
||||
794
.beads/npm_test_output.txt
Normal file
794
.beads/npm_test_output.txt
Normal file
|
|
@ -0,0 +1,794 @@
|
|||
|
||||
> beadboard@0.1.0 test
|
||||
> node --test tests/bootstrap.test.mjs && node --import tsx --test tests/components/shared/base-card.test.tsx && node --import tsx --test tests/components/shared/agent-avatar.test.tsx && node --import tsx --test tests/components/sessions/sessions-header.test.ts && node --import tsx --test tests/components/sessions/agent-station-logic.test.ts && node --import tsx --test tests/lib/parser.test.ts && node --import tsx --test tests/lib/pathing.test.ts && node --import tsx --test tests/components/shared/left-panel.test.tsx && node --import tsx --test tests/components/shared/top-bar.test.tsx && node --import tsx --test tests/components/shared/mobile-nav.test.tsx && node --import tsx --test tests/components/swarm/swarm-card.test.tsx && node --import tsx --test tests/hooks/url-state-integration.test.ts && node --import tsx --test tests/hooks/use-graph-analysis.test.ts && node --import tsx --test tests/components/graph/smart-dag.test.tsx && node --import tsx --test tests/components/unified-shell.test.tsx && node --import tsx --test tests/components/blocked-triage-modal.test.tsx && node --import tsx --test tests/components/graph/graph-node-labels.test.tsx && node --import tsx --test tests/components/graph/graph-node-assign.test.tsx && node --import tsx --test tests/components/graph/graph-node-conversation.test.tsx && node --import tsx --test tests/lib/coord-schema.test.ts && node --import tsx --test tests/lib/install-manifest.test.ts && node --import tsx --test tests/lib/coord-events.test.ts && node --import tsx --test tests/api/coord-events-route.test.ts && node --import tsx --test tests/lib/coord-projections-inbox.test.ts && node --import tsx --test tests/lib/coord-projections-reservations.test.ts && node --import tsx --test tests/components/sessions/conversation-drawer-coord.test.tsx && node --import tsx --test tests/scripts/beadboard-launcher.test.ts && node --import tsx --test tests/scripts/install-wrappers-contract.test.ts && node --import tsx --test tests/scripts/install-sh-smoke.test.ts && node --import tsx --test tests/scripts/installer-ci-contract.test.ts && node --import tsx --test tests/docs/installer-quickstart-contract.test.ts && node --import tsx --test tests/skills/beadboard-driver/resolve-bb.test.ts && node --import tsx --test tests/skills/beadboard-driver/session-preflight.test.ts && node --import tsx --test tests/skills/beadboard-driver/generate-agent-name.test.ts && node --import tsx --test tests/skills/beadboard-driver/readiness-report.test.ts && node --import tsx --test tests/skills/beadboard-driver/skill-local-runner.test.ts && node --import tsx --test tests/skills/beadboard-driver/diagnose-env.test.ts && node --import tsx --test tests/skills/beadboard-driver/heal-common-issues.test.ts && node --import tsx --test tests/lib/epic-graph.test.ts && node --import tsx --test tests/components/shared/left-panel-filtering.test.ts && node --import tsx --test tests/hooks/use-beads-subscription-contract.test.ts && node --import tsx --test tests/components/graph/dependency-graph-hide-closed-contract.test.ts && node --import tsx --test tests/components/shared/unified-shell-hide-closed-contract.test.ts
|
||||
|
||||
TAP version 13
|
||||
# Subtest: bootstrap scaffold files exist
|
||||
ok 1 - bootstrap scaffold files exist
|
||||
---
|
||||
duration_ms: 1.5408
|
||||
...
|
||||
# Subtest: package.json has next/react/typescript scripts and deps
|
||||
ok 2 - package.json has next/react/typescript scripts and deps
|
||||
---
|
||||
duration_ms: 0.6082
|
||||
...
|
||||
1..2
|
||||
# tests 2
|
||||
# suites 0
|
||||
# pass 2
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 89.6484
|
||||
TAP version 13
|
||||
# Subtest: BaseCard Component Contract
|
||||
# Subtest: exports BaseCard component
|
||||
ok 1 - exports BaseCard component
|
||||
---
|
||||
duration_ms: 48.4903
|
||||
...
|
||||
1..1
|
||||
ok 1 - BaseCard Component Contract
|
||||
---
|
||||
duration_ms: 49.1763
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: BaseCard Styling Logic
|
||||
# Subtest: should be possible to import the component
|
||||
ok 1 - should be possible to import the component
|
||||
---
|
||||
duration_ms: 1.6433
|
||||
...
|
||||
# Subtest: applies correct status border class for "ready" status
|
||||
ok 2 - applies correct status border class for "ready" status
|
||||
---
|
||||
duration_ms: 8.9211
|
||||
...
|
||||
# Subtest: applies correct status border class for "blocked" status
|
||||
ok 3 - applies correct status border class for "blocked" status
|
||||
---
|
||||
duration_ms: 1.9781
|
||||
...
|
||||
# Subtest: applies selection ring when selected prop is true
|
||||
ok 4 - applies selection ring when selected prop is true
|
||||
---
|
||||
duration_ms: 1.3742
|
||||
...
|
||||
1..4
|
||||
ok 2 - BaseCard Styling Logic
|
||||
---
|
||||
duration_ms: 14.3343
|
||||
type: 'suite'
|
||||
...
|
||||
1..2
|
||||
# tests 5
|
||||
# suites 2
|
||||
# pass 5
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 359.7963
|
||||
TAP version 13
|
||||
# Subtest: AgentAvatar Component Contract
|
||||
# Subtest: exports AgentAvatar component
|
||||
ok 1 - exports AgentAvatar component
|
||||
---
|
||||
duration_ms: 112.1114
|
||||
...
|
||||
1..1
|
||||
ok 1 - AgentAvatar Component Contract
|
||||
---
|
||||
duration_ms: 112.7409
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: AgentAvatar Role Styling
|
||||
# Subtest: applies correct role color class for "ui" role
|
||||
ok 1 - applies correct role color class for "ui" role
|
||||
---
|
||||
duration_ms: 7.7314
|
||||
...
|
||||
# Subtest: applies correct role color class for "orchestrator" role
|
||||
ok 2 - applies correct role color class for "orchestrator" role
|
||||
---
|
||||
duration_ms: 2.3245
|
||||
...
|
||||
1..2
|
||||
ok 2 - AgentAvatar Role Styling
|
||||
---
|
||||
duration_ms: 10.3257
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: AgentAvatar ZFC States
|
||||
# Subtest: applies working pulse glow
|
||||
ok 1 - applies working pulse glow
|
||||
---
|
||||
duration_ms: 1.7868
|
||||
...
|
||||
1..1
|
||||
ok 3 - AgentAvatar ZFC States
|
||||
---
|
||||
duration_ms: 2.1043
|
||||
type: 'suite'
|
||||
...
|
||||
1..3
|
||||
# tests 4
|
||||
# suites 3
|
||||
# pass 4
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 414.8522
|
||||
TAP version 13
|
||||
# Subtest: SessionsHeader: Agent Grouping
|
||||
# Subtest: groups agents by swarm
|
||||
ok 1 - groups agents by swarm
|
||||
---
|
||||
duration_ms: 2.028
|
||||
...
|
||||
# Subtest: shows fallback bucket for unassigned agents
|
||||
ok 2 - shows fallback bucket for unassigned agents
|
||||
---
|
||||
duration_ms: 0.163
|
||||
...
|
||||
# Subtest: handles empty swarm groups
|
||||
ok 3 - handles empty swarm groups
|
||||
---
|
||||
duration_ms: 0.1271
|
||||
...
|
||||
1..3
|
||||
ok 1 - SessionsHeader: Agent Grouping
|
||||
---
|
||||
duration_ms: 3.2566
|
||||
type: 'suite'
|
||||
...
|
||||
1..1
|
||||
# tests 3
|
||||
# suites 1
|
||||
# pass 3
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 259.5842
|
||||
TAP version 13
|
||||
# Subtest: getAgentRoleColor returns correct color for known roles
|
||||
ok 1 - getAgentRoleColor returns correct color for known roles
|
||||
---
|
||||
duration_ms: 0.7893
|
||||
...
|
||||
# Subtest: getAgentRoleColor returns default for unknown role
|
||||
ok 2 - getAgentRoleColor returns default for unknown role
|
||||
---
|
||||
duration_ms: 0.1416
|
||||
...
|
||||
1..2
|
||||
# tests 2
|
||||
# suites 0
|
||||
# pass 2
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 260.6046
|
||||
TAP version 13
|
||||
# Subtest: parseIssuesJsonl applies defaults and preserves priority 0
|
||||
ok 1 - parseIssuesJsonl applies defaults and preserves priority 0
|
||||
---
|
||||
duration_ms: 1.1468
|
||||
...
|
||||
# Subtest: parseIssuesJsonl skips malformed and blank lines
|
||||
ok 2 - parseIssuesJsonl skips malformed and blank lines
|
||||
---
|
||||
duration_ms: 0.2118
|
||||
...
|
||||
# Subtest: parseIssuesJsonl filters tombstones by default
|
||||
ok 3 - parseIssuesJsonl filters tombstones by default
|
||||
---
|
||||
duration_ms: 0.1758
|
||||
...
|
||||
# Subtest: parseIssuesJsonl can include tombstones when requested
|
||||
ok 4 - parseIssuesJsonl can include tombstones when requested
|
||||
---
|
||||
duration_ms: 0.1626
|
||||
...
|
||||
# Subtest: parseIssuesJsonl supports beads dependency schema with depends_on_id and parent-child
|
||||
ok 5 - parseIssuesJsonl supports beads dependency schema with depends_on_id and parent-child
|
||||
---
|
||||
duration_ms: 0.7949
|
||||
...
|
||||
1..5
|
||||
# tests 5
|
||||
# suites 0
|
||||
# pass 5
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 269.9367
|
||||
TAP version 13
|
||||
# Subtest: canonicalizeWindowsPath normalizes separators and drive casing
|
||||
ok 1 - canonicalizeWindowsPath normalizes separators and drive casing
|
||||
---
|
||||
duration_ms: 1.4342
|
||||
...
|
||||
# Subtest: windowsPathKey is case-insensitive stable key
|
||||
ok 2 - windowsPathKey is case-insensitive stable key
|
||||
---
|
||||
duration_ms: 0.4737
|
||||
...
|
||||
# Subtest: toDisplayPath renders forward slashes for UI readability
|
||||
ok 3 - toDisplayPath renders forward slashes for UI readability
|
||||
---
|
||||
duration_ms: 0.2287
|
||||
...
|
||||
# Subtest: sameWindowsPath handles case/separator differences
|
||||
ok 4 - sameWindowsPath handles case/separator differences
|
||||
---
|
||||
duration_ms: 0.2269
|
||||
...
|
||||
1..4
|
||||
# tests 4
|
||||
# suites 0
|
||||
# pass 4
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 290.6242
|
||||
TAP version 13
|
||||
# Subtest: LeftPanel Component Contract
|
||||
# Subtest: exports LeftPanel component
|
||||
ok 1 - exports LeftPanel component
|
||||
---
|
||||
duration_ms: 291.6468
|
||||
...
|
||||
# Subtest: LeftPanel accepts issues and onEpicSelect props
|
||||
ok 2 - LeftPanel accepts issues and onEpicSelect props
|
||||
---
|
||||
duration_ms: 1.3553
|
||||
...
|
||||
1..2
|
||||
ok 1 - LeftPanel Component Contract
|
||||
---
|
||||
duration_ms: 294.0487
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Tree Structure
|
||||
# Subtest: renders epics as expandable tree items
|
||||
ok 1 - renders epics as expandable tree items
|
||||
---
|
||||
duration_ms: 1.1796
|
||||
...
|
||||
# Subtest: groups beads under their parent epic
|
||||
ok 2 - groups beads under their parent epic
|
||||
---
|
||||
duration_ms: 1.1357
|
||||
...
|
||||
1..2
|
||||
ok 2 - LeftPanel Tree Structure
|
||||
---
|
||||
duration_ms: 2.5592
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Responsive Behavior
|
||||
# Subtest: applies responsive classes for desktop, tablet, and mobile
|
||||
ok 1 - applies responsive classes for desktop, tablet, and mobile
|
||||
---
|
||||
duration_ms: 1.4154
|
||||
...
|
||||
1..1
|
||||
ok 3 - LeftPanel Responsive Behavior
|
||||
---
|
||||
duration_ms: 1.6082
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Scope Controls
|
||||
# Subtest: renders scope section
|
||||
ok 1 - renders scope section
|
||||
---
|
||||
duration_ms: 1.2414
|
||||
...
|
||||
1..1
|
||||
ok 4 - LeftPanel Scope Controls
|
||||
---
|
||||
duration_ms: 1.5705
|
||||
type: 'suite'
|
||||
...
|
||||
1..4
|
||||
# tests 6
|
||||
# suites 4
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 586.4632
|
||||
TAP version 13
|
||||
# Subtest: TopBar Component Contract
|
||||
# Subtest: exports TopBar component
|
||||
ok 1 - exports TopBar component
|
||||
---
|
||||
duration_ms: 576.3556
|
||||
...
|
||||
# Subtest: TopBar component can be imported without errors
|
||||
ok 2 - TopBar component can be imported without errors
|
||||
---
|
||||
duration_ms: 1.4049
|
||||
...
|
||||
1..2
|
||||
ok 1 - TopBar Component Contract
|
||||
---
|
||||
duration_ms: 578.6933
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar View Tabs
|
||||
# Subtest: renders view tabs: Social, Graph
|
||||
ok 1 - renders view tabs: Social, Graph
|
||||
---
|
||||
duration_ms: 1.1653
|
||||
...
|
||||
# Subtest: active tab has bold text and accent underline
|
||||
ok 2 - active tab has bold text and accent underline
|
||||
---
|
||||
duration_ms: 1.0756
|
||||
...
|
||||
1..2
|
||||
ok 2 - TopBar View Tabs
|
||||
---
|
||||
duration_ms: 2.4564
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar Filter and Controls
|
||||
# Subtest: renders filter/search input placeholder
|
||||
ok 1 - renders filter/search input placeholder
|
||||
---
|
||||
duration_ms: 1.2466
|
||||
...
|
||||
# Subtest: renders settings placeholder
|
||||
ok 2 - renders settings placeholder
|
||||
---
|
||||
duration_ms: 1.0997
|
||||
...
|
||||
1..2
|
||||
ok 3 - TopBar Filter and Controls
|
||||
---
|
||||
duration_ms: 2.7634
|
||||
type: 'suite'
|
||||
...
|
||||
1..3
|
||||
# tests 6
|
||||
# suites 3
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 843.1609
|
||||
TAP version 13
|
||||
# Subtest: Mobile Navigation - Hamburger Menu
|
||||
# Subtest: exports MobileNav component
|
||||
ok 1 - exports MobileNav component
|
||||
---
|
||||
duration_ms: 122.7061
|
||||
...
|
||||
# Subtest: renders tab buttons: Social, Graph
|
||||
ok 2 - renders tab buttons: Social, Graph
|
||||
---
|
||||
duration_ms: 1.5081
|
||||
...
|
||||
# Subtest: highlights active tab with accent color
|
||||
ok 3 - highlights active tab with accent color
|
||||
---
|
||||
duration_ms: 1.5626
|
||||
...
|
||||
# Subtest: uses setView from useUrlState on tab click
|
||||
ok 4 - uses setView from useUrlState on tab click
|
||||
---
|
||||
duration_ms: 1.3467
|
||||
...
|
||||
1..4
|
||||
ok 1 - Mobile Navigation - Hamburger Menu
|
||||
---
|
||||
duration_ms: 128.9482
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar Hamburger Menu
|
||||
# Subtest: shows hamburger button on mobile and tablet
|
||||
ok 1 - shows hamburger button on mobile and tablet
|
||||
---
|
||||
duration_ms: 487.0038
|
||||
...
|
||||
# Subtest: hamburger button opens left panel drawer
|
||||
ok 2 - hamburger button opens left panel drawer
|
||||
---
|
||||
duration_ms: 1.478
|
||||
...
|
||||
# Subtest: hides hamburger on desktop
|
||||
ok 3 - hides hamburger on desktop
|
||||
---
|
||||
duration_ms: 1.1051
|
||||
...
|
||||
1..3
|
||||
ok 2 - TopBar Hamburger Menu
|
||||
---
|
||||
duration_ms: 490.1177
|
||||
type: 'suite'
|
||||
...
|
||||
1..2
|
||||
# tests 7
|
||||
# suites 2
|
||||
# pass 7
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 899.3239
|
||||
TAP version 13
|
||||
# Subtest: SwarmCard Component Contract
|
||||
# Subtest: exports SwarmCard component
|
||||
ok 1 - exports SwarmCard component
|
||||
---
|
||||
duration_ms: 238.5797
|
||||
...
|
||||
# Subtest: SwarmCard component can be imported without errors
|
||||
ok 2 - SwarmCard component can be imported without errors
|
||||
---
|
||||
duration_ms: 1.6861
|
||||
...
|
||||
1..2
|
||||
ok 1 - SwarmCard Component Contract
|
||||
---
|
||||
duration_ms: 241.2828
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Agent Roster
|
||||
# Subtest: renders agent avatars with liveness glow
|
||||
ok 1 - renders agent avatars with liveness glow
|
||||
---
|
||||
duration_ms: 1.7451
|
||||
...
|
||||
# Subtest: displays agent current task when available
|
||||
ok 2 - displays agent current task when available
|
||||
---
|
||||
duration_ms: 1.4825
|
||||
...
|
||||
1..2
|
||||
ok 2 - SwarmCard Agent Roster
|
||||
---
|
||||
duration_ms: 3.5718
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Progress Bar
|
||||
# Subtest: renders progress bar showing completion percentage
|
||||
ok 1 - renders progress bar showing completion percentage
|
||||
---
|
||||
duration_ms: 1.6795
|
||||
...
|
||||
1..1
|
||||
ok 3 - SwarmCard Progress Bar
|
||||
---
|
||||
duration_ms: 1.8984
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Attention Items
|
||||
# Subtest: renders attention items with warning styling
|
||||
ok 1 - renders attention items with warning styling
|
||||
---
|
||||
duration_ms: 1.7077
|
||||
...
|
||||
1..1
|
||||
ok 4 - SwarmCard Attention Items
|
||||
---
|
||||
duration_ms: 2.1567
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard View-Jump Icons
|
||||
# Subtest: renders view-jump icons for navigation
|
||||
ok 1 - renders view-jump icons for navigation
|
||||
---
|
||||
duration_ms: 1.7431
|
||||
...
|
||||
1..1
|
||||
ok 5 - SwarmCard View-Jump Icons
|
||||
---
|
||||
duration_ms: 2.0339
|
||||
type: 'suite'
|
||||
...
|
||||
1..5
|
||||
# tests 7
|
||||
# suites 5
|
||||
# pass 7
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 515.754
|
||||
TAP version 13
|
||||
# Subtest: URL State Integration - bb-ui2.22
|
||||
# Subtest: Valid URL Patterns - Social View
|
||||
# Subtest: /?view=social - defaults to social view
|
||||
ok 1 - /?view=social - defaults to social view
|
||||
---
|
||||
duration_ms: 0.8379
|
||||
...
|
||||
# Subtest: /?view=social&task=bb-buff.1&panel=open - task selected, panel open
|
||||
ok 2 - /?view=social&task=bb-buff.1&panel=open - task selected, panel open
|
||||
---
|
||||
duration_ms: 0.2068
|
||||
...
|
||||
# Subtest: /?view=social&task=bb-ui2.22 - task with dots in ID
|
||||
ok 3 - /?view=social&task=bb-ui2.22 - task with dots in ID
|
||||
---
|
||||
duration_ms: 0.1241
|
||||
...
|
||||
1..3
|
||||
ok 1 - Valid URL Patterns - Social View
|
||||
---
|
||||
duration_ms: 1.803
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Valid URL Patterns - Graph View
|
||||
# Subtest: /?view=graph - graph view default
|
||||
not ok 1 - /?view=graph - graph view default
|
||||
---
|
||||
duration_ms: 3.2799
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:2578'
|
||||
failureType: 'testCodeFailure'
|
||||
error: |-
|
||||
Expected values to be strictly equal:
|
||||
|
||||
'overview' !== 'flow'
|
||||
|
||||
code: 'ERR_ASSERTION'
|
||||
name: 'AssertionError'
|
||||
expected: 'flow'
|
||||
actual: 'overview'
|
||||
operator: 'strictEqual'
|
||||
stack: |-
|
||||
TestContext.<anonymous> (C:\Users\Zenchant\codex\beadboard\tests\hooks\url-state-integration.test.ts:53:14)
|
||||
Test.runInAsyncScope (node:async_hooks:211:14)
|
||||
Test.run (node:internal/test_runner/test:934:25)
|
||||
Test.start (node:internal/test_runner/test:833:17)
|
||||
node:internal/test_runner/test:1318:71
|
||||
node:internal/per_context/primordials:483:82
|
||||
new Promise (<anonymous>)
|
||||
new SafePromise (node:internal/per_context/primordials:451:29)
|
||||
node:internal/per_context/primordials:483:9
|
||||
Array.map (<anonymous>)
|
||||
...
|
||||
# Subtest: /?view=graph&task=bb-buff.1 - graph with task selected
|
||||
ok 2 - /?view=graph&task=bb-buff.1 - graph with task selected
|
||||
---
|
||||
duration_ms: 0.1241
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=flow - flow tab selected
|
||||
ok 3 - /?view=graph&graphTab=flow - flow tab selected
|
||||
---
|
||||
duration_ms: 0.2827
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=overview - overview tab selected
|
||||
ok 4 - /?view=graph&graphTab=overview - overview tab selected
|
||||
---
|
||||
duration_ms: 0.1152
|
||||
...
|
||||
# Subtest: /?view=graph&swarm=bb-buff - graph filtered by swarm
|
||||
ok 5 - /?view=graph&swarm=bb-buff - graph filtered by swarm
|
||||
---
|
||||
duration_ms: 0.3114
|
||||
...
|
||||
1..5
|
||||
not ok 2 - Valid URL Patterns - Graph View
|
||||
---
|
||||
duration_ms: 4.4826
|
||||
type: 'suite'
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:2515'
|
||||
failureType: 'subtestsFailed'
|
||||
error: '1 subtest failed'
|
||||
code: 'ERR_TEST_FAILURE'
|
||||
...
|
||||
# Subtest: Deprecated Swarm View Fallback
|
||||
# Subtest: /?view=swarm - falls back to social (swarm view deprecated)
|
||||
ok 1 - /?view=swarm - falls back to social (swarm view deprecated)
|
||||
---
|
||||
duration_ms: 0.176
|
||||
...
|
||||
# Subtest: /?view=swarm&swarm=bb-buff - falls back to social but preserves swarmId
|
||||
ok 2 - /?view=swarm&swarm=bb-buff - falls back to social but preserves swarmId
|
||||
---
|
||||
duration_ms: 0.3375
|
||||
...
|
||||
# Subtest: /?view=swarm&swarm=bb-buff&panel=open - falls back to social with panel open
|
||||
ok 3 - /?view=swarm&swarm=bb-buff&panel=open - falls back to social with panel open
|
||||
---
|
||||
duration_ms: 0.1203
|
||||
...
|
||||
1..3
|
||||
ok 3 - Deprecated Swarm View Fallback
|
||||
---
|
||||
duration_ms: 0.8018
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Valid URL Patterns - Activity View
|
||||
# Subtest: /?view=activity - activity view default
|
||||
ok 1 - /?view=activity - activity view default
|
||||
---
|
||||
duration_ms: 0.1469
|
||||
...
|
||||
# Subtest: /?view=activity&agent=bb-silver-castle - filtered by agent
|
||||
ok 2 - /?view=activity&agent=bb-silver-castle - filtered by agent
|
||||
---
|
||||
duration_ms: 0.0856
|
||||
...
|
||||
# Subtest: /?view=activity&swarm=bb-buff - filtered by swarm
|
||||
ok 3 - /?view=activity&swarm=bb-buff - filtered by swarm
|
||||
---
|
||||
duration_ms: 0.0813
|
||||
...
|
||||
1..3
|
||||
ok 4 - Valid URL Patterns - Activity View
|
||||
---
|
||||
duration_ms: 0.4565
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Invalid Param Handling
|
||||
# Subtest: /?view=invalid - invalid view defaults to social
|
||||
ok 1 - /?view=invalid - invalid view defaults to social
|
||||
---
|
||||
duration_ms: 0.1489
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=invalid - invalid graphTab defaults to flow
|
||||
not ok 2 - /?view=graph&graphTab=invalid - invalid graphTab defaults to flow
|
||||
---
|
||||
duration_ms: 0.4762
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:6479'
|
||||
failureType: 'testCodeFailure'
|
||||
error: |-
|
||||
Expected values to be strictly equal:
|
||||
|
||||
'overview' !== 'flow'
|
||||
|
||||
code: 'ERR_ASSERTION'
|
||||
name: 'AssertionError'
|
||||
expected: 'flow'
|
||||
actual: 'overview'
|
||||
operator: 'strictEqual'
|
||||
stack: |-
|
||||
TestContext.<anonymous> (C:\Users\Zenchant\codex\beadboard\tests\hooks\url-state-integration.test.ts:138:14)
|
||||
Test.runInAsyncScope (node:async_hooks:211:14)
|
||||
Test.run (node:internal/test_runner/test:934:25)
|
||||
Suite.processPendingSubtests (node:internal/test_runner/test:633:18)
|
||||
Test.postRun (node:internal/test_runner/test:1045:19)
|
||||
Test.run (node:internal/test_runner/test:973:12)
|
||||
async Promise.all (index 0)
|
||||
async Suite.run (node:internal/test_runner/test:1320:7)
|
||||
async Suite.processPendingSubtests (node:internal/test_runner/test:633:7)
|
||||
...
|
||||
# Subtest: /?panel=invalid - invalid panel defaults to open
|
||||
ok 3 - /?panel=invalid - invalid panel defaults to open
|
||||
---
|
||||
duration_ms: 0.1006
|
||||
...
|
||||
# Subtest: /?task=invalid-id - invalid task ID still parsed (no validation)
|
||||
ok 4 - /?task=invalid-id - invalid task ID still parsed (no validation)
|
||||
---
|
||||
duration_ms: 0.0841
|
||||
...
|
||||
1..4
|
||||
not ok 5 - Invalid Param Handling
|
||||
---
|
||||
duration_ms: 0.9701
|
||||
type: 'suite'
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:6178'
|
||||
failureType: 'subtestsFailed'
|
||||
error: '1 subtest failed'
|
||||
code: 'ERR_TEST_FAILURE'
|
||||
...
|
||||
# Subtest: URL Building - State to URL
|
||||
# Subtest: builds social view URL
|
||||
ok 1 - builds social view URL
|
||||
---
|
||||
duration_ms: 0.2194
|
||||
...
|
||||
# Subtest: builds graph view with task URL
|
||||
ok 2 - builds graph view with task URL
|
||||
---
|
||||
duration_ms: 0.0932
|
||||
...
|
||||
# Subtest: builds swarm view with swarm param
|
||||
ok 3 - builds swarm view with swarm param
|
||||
---
|
||||
duration_ms: 0.085
|
||||
...
|
||||
# Subtest: builds activity view with agent filter
|
||||
ok 4 - builds activity view with agent filter
|
||||
---
|
||||
duration_ms: 0.1405
|
||||
...
|
||||
# Subtest: preserves existing params when adding new ones
|
||||
ok 5 - preserves existing params when adding new ones
|
||||
---
|
||||
duration_ms: 0.1868
|
||||
...
|
||||
# Subtest: removes params when set to null
|
||||
ok 6 - removes params when set to null
|
||||
---
|
||||
duration_ms: 0.1154
|
||||
...
|
||||
# Subtest: returns root when all params cleared
|
||||
ok 7 - returns root when all params cleared
|
||||
---
|
||||
duration_ms: 0.0926
|
||||
...
|
||||
1..7
|
||||
ok 6 - URL Building - State to URL
|
||||
---
|
||||
duration_ms: 1.1103
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Complex URL Scenarios
|
||||
# Subtest: handles all params together
|
||||
ok 1 - handles all params together
|
||||
---
|
||||
duration_ms: 0.123
|
||||
...
|
||||
# Subtest: empty string values treated as null/empty
|
||||
ok 2 - empty string values treated as null/empty
|
||||
---
|
||||
duration_ms: 0.0893
|
||||
...
|
||||
1..2
|
||||
ok 7 - Complex URL Scenarios
|
||||
---
|
||||
duration_ms: 0.351
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Deep Link Patterns - From Card Icons
|
||||
# Subtest: SocialCard Graph icon: /?view=graph&task={id}
|
||||
ok 1 - SocialCard Graph icon: /?view=graph&task={id}
|
||||
---
|
||||
duration_ms: 0.1287
|
||||
...
|
||||
# Subtest: SwarmCard Graph icon: /?view=graph&swarm={id}
|
||||
ok 2 - SwarmCard Graph icon: /?view=graph&swarm={id}
|
||||
---
|
||||
duration_ms: 0.0785
|
||||
...
|
||||
# Subtest: SwarmCard Timeline icon: /?view=activity&swarm={id}
|
||||
ok 3 - SwarmCard Timeline icon: /?view=activity&swarm={id}
|
||||
---
|
||||
duration_ms: 0.1411
|
||||
...
|
||||
# Subtest: Agent avatar click: /?view=activity&agent={id}
|
||||
ok 4 - Agent avatar click: /?view=activity&agent={id}
|
||||
---
|
||||
duration_ms: 0.076
|
||||
...
|
||||
1..4
|
||||
ok 8 - Deep Link Patterns - From Card Icons
|
||||
---
|
||||
duration_ms: 0.5678
|
||||
type: 'suite'
|
||||
...
|
||||
1..8
|
||||
not ok 1 - URL State Integration - bb-ui2.22
|
||||
---
|
||||
duration_ms: 11.4418
|
||||
type: 'suite'
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:1269'
|
||||
failureType: 'subtestsFailed'
|
||||
error: '2 subtests failed'
|
||||
code: 'ERR_TEST_FAILURE'
|
||||
...
|
||||
1..1
|
||||
# tests 31
|
||||
# suites 9
|
||||
# pass 29
|
||||
# fail 2
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 447.3716
|
||||
919
.beads/npm_test_output2.txt
Normal file
919
.beads/npm_test_output2.txt
Normal file
|
|
@ -0,0 +1,919 @@
|
|||
|
||||
> beadboard@0.1.0 test
|
||||
> node --test tests/bootstrap.test.mjs && node --import tsx --test tests/components/shared/base-card.test.tsx && node --import tsx --test tests/components/shared/agent-avatar.test.tsx && node --import tsx --test tests/components/sessions/sessions-header.test.ts && node --import tsx --test tests/components/sessions/agent-station-logic.test.ts && node --import tsx --test tests/lib/parser.test.ts && node --import tsx --test tests/lib/pathing.test.ts && node --import tsx --test tests/components/shared/left-panel.test.tsx && node --import tsx --test tests/components/shared/top-bar.test.tsx && node --import tsx --test tests/components/shared/mobile-nav.test.tsx && node --import tsx --test tests/components/swarm/swarm-card.test.tsx && node --import tsx --test tests/hooks/url-state-integration.test.ts && node --import tsx --test tests/hooks/use-graph-analysis.test.ts && node --import tsx --test tests/components/graph/smart-dag.test.tsx && node --import tsx --test tests/components/unified-shell.test.tsx && node --import tsx --test tests/components/blocked-triage-modal.test.tsx && node --import tsx --test tests/components/graph/graph-node-labels.test.tsx && node --import tsx --test tests/components/graph/graph-node-assign.test.tsx && node --import tsx --test tests/components/graph/graph-node-conversation.test.tsx && node --import tsx --test tests/lib/coord-schema.test.ts && node --import tsx --test tests/lib/install-manifest.test.ts && node --import tsx --test tests/lib/coord-events.test.ts && node --import tsx --test tests/api/coord-events-route.test.ts && node --import tsx --test tests/lib/coord-projections-inbox.test.ts && node --import tsx --test tests/lib/coord-projections-reservations.test.ts && node --import tsx --test tests/components/sessions/conversation-drawer-coord.test.tsx && node --import tsx --test tests/scripts/beadboard-launcher.test.ts && node --import tsx --test tests/scripts/install-wrappers-contract.test.ts && node --import tsx --test tests/scripts/install-sh-smoke.test.ts && node --import tsx --test tests/scripts/installer-ci-contract.test.ts && node --import tsx --test tests/docs/installer-quickstart-contract.test.ts && node --import tsx --test tests/skills/beadboard-driver/resolve-bb.test.ts && node --import tsx --test tests/skills/beadboard-driver/session-preflight.test.ts && node --import tsx --test tests/skills/beadboard-driver/generate-agent-name.test.ts && node --import tsx --test tests/skills/beadboard-driver/readiness-report.test.ts && node --import tsx --test tests/skills/beadboard-driver/skill-local-runner.test.ts && node --import tsx --test tests/skills/beadboard-driver/diagnose-env.test.ts && node --import tsx --test tests/skills/beadboard-driver/heal-common-issues.test.ts && node --import tsx --test tests/lib/epic-graph.test.ts && node --import tsx --test tests/components/shared/left-panel-filtering.test.ts && node --import tsx --test tests/hooks/use-beads-subscription-contract.test.ts && node --import tsx --test tests/components/graph/dependency-graph-hide-closed-contract.test.ts && node --import tsx --test tests/components/shared/unified-shell-hide-closed-contract.test.ts
|
||||
|
||||
TAP version 13
|
||||
# Subtest: bootstrap scaffold files exist
|
||||
ok 1 - bootstrap scaffold files exist
|
||||
---
|
||||
duration_ms: 2.2085
|
||||
...
|
||||
# Subtest: package.json has next/react/typescript scripts and deps
|
||||
ok 2 - package.json has next/react/typescript scripts and deps
|
||||
---
|
||||
duration_ms: 0.5581
|
||||
...
|
||||
1..2
|
||||
# tests 2
|
||||
# suites 0
|
||||
# pass 2
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 140.1608
|
||||
TAP version 13
|
||||
# Subtest: BaseCard Component Contract
|
||||
# Subtest: exports BaseCard component
|
||||
ok 1 - exports BaseCard component
|
||||
---
|
||||
duration_ms: 58.211
|
||||
...
|
||||
1..1
|
||||
ok 1 - BaseCard Component Contract
|
||||
---
|
||||
duration_ms: 58.9965
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: BaseCard Styling Logic
|
||||
# Subtest: should be possible to import the component
|
||||
ok 1 - should be possible to import the component
|
||||
---
|
||||
duration_ms: 2.4528
|
||||
...
|
||||
# Subtest: applies correct status border class for "ready" status
|
||||
ok 2 - applies correct status border class for "ready" status
|
||||
---
|
||||
duration_ms: 10.367
|
||||
...
|
||||
# Subtest: applies correct status border class for "blocked" status
|
||||
ok 3 - applies correct status border class for "blocked" status
|
||||
---
|
||||
duration_ms: 2.0545
|
||||
...
|
||||
# Subtest: applies selection ring when selected prop is true
|
||||
ok 4 - applies selection ring when selected prop is true
|
||||
---
|
||||
duration_ms: 1.3688
|
||||
...
|
||||
1..4
|
||||
ok 2 - BaseCard Styling Logic
|
||||
---
|
||||
duration_ms: 16.6551
|
||||
type: 'suite'
|
||||
...
|
||||
1..2
|
||||
# tests 5
|
||||
# suites 2
|
||||
# pass 5
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 447.2767
|
||||
TAP version 13
|
||||
# Subtest: AgentAvatar Component Contract
|
||||
# Subtest: exports AgentAvatar component
|
||||
ok 1 - exports AgentAvatar component
|
||||
---
|
||||
duration_ms: 154.6347
|
||||
...
|
||||
1..1
|
||||
ok 1 - AgentAvatar Component Contract
|
||||
---
|
||||
duration_ms: 155.6009
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: AgentAvatar Role Styling
|
||||
# Subtest: applies correct role color class for "ui" role
|
||||
ok 1 - applies correct role color class for "ui" role
|
||||
---
|
||||
duration_ms: 11.7114
|
||||
...
|
||||
# Subtest: applies correct role color class for "orchestrator" role
|
||||
ok 2 - applies correct role color class for "orchestrator" role
|
||||
---
|
||||
duration_ms: 2.6704
|
||||
...
|
||||
1..2
|
||||
ok 2 - AgentAvatar Role Styling
|
||||
---
|
||||
duration_ms: 14.7057
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: AgentAvatar ZFC States
|
||||
# Subtest: applies working pulse glow
|
||||
ok 1 - applies working pulse glow
|
||||
---
|
||||
duration_ms: 2.4504
|
||||
...
|
||||
1..1
|
||||
ok 3 - AgentAvatar ZFC States
|
||||
---
|
||||
duration_ms: 2.8198
|
||||
type: 'suite'
|
||||
...
|
||||
1..3
|
||||
# tests 4
|
||||
# suites 3
|
||||
# pass 4
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 539.4517
|
||||
TAP version 13
|
||||
# Subtest: SessionsHeader: Agent Grouping
|
||||
# Subtest: groups agents by swarm
|
||||
ok 1 - groups agents by swarm
|
||||
---
|
||||
duration_ms: 2.114
|
||||
...
|
||||
# Subtest: shows fallback bucket for unassigned agents
|
||||
ok 2 - shows fallback bucket for unassigned agents
|
||||
---
|
||||
duration_ms: 0.1808
|
||||
...
|
||||
# Subtest: handles empty swarm groups
|
||||
ok 3 - handles empty swarm groups
|
||||
---
|
||||
duration_ms: 0.1339
|
||||
...
|
||||
1..3
|
||||
ok 1 - SessionsHeader: Agent Grouping
|
||||
---
|
||||
duration_ms: 3.4059
|
||||
type: 'suite'
|
||||
...
|
||||
1..1
|
||||
# tests 3
|
||||
# suites 1
|
||||
# pass 3
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 283.1807
|
||||
TAP version 13
|
||||
# Subtest: getAgentRoleColor returns correct color for known roles
|
||||
ok 1 - getAgentRoleColor returns correct color for known roles
|
||||
---
|
||||
duration_ms: 0.8966
|
||||
...
|
||||
# Subtest: getAgentRoleColor returns default for unknown role
|
||||
ok 2 - getAgentRoleColor returns default for unknown role
|
||||
---
|
||||
duration_ms: 0.1598
|
||||
...
|
||||
1..2
|
||||
# tests 2
|
||||
# suites 0
|
||||
# pass 2
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 309.895
|
||||
TAP version 13
|
||||
# Subtest: parseIssuesJsonl applies defaults and preserves priority 0
|
||||
ok 1 - parseIssuesJsonl applies defaults and preserves priority 0
|
||||
---
|
||||
duration_ms: 1.1101
|
||||
...
|
||||
# Subtest: parseIssuesJsonl skips malformed and blank lines
|
||||
ok 2 - parseIssuesJsonl skips malformed and blank lines
|
||||
---
|
||||
duration_ms: 0.1784
|
||||
...
|
||||
# Subtest: parseIssuesJsonl filters tombstones by default
|
||||
ok 3 - parseIssuesJsonl filters tombstones by default
|
||||
---
|
||||
duration_ms: 0.1475
|
||||
...
|
||||
# Subtest: parseIssuesJsonl can include tombstones when requested
|
||||
ok 4 - parseIssuesJsonl can include tombstones when requested
|
||||
---
|
||||
duration_ms: 0.1428
|
||||
...
|
||||
# Subtest: parseIssuesJsonl supports beads dependency schema with depends_on_id and parent-child
|
||||
ok 5 - parseIssuesJsonl supports beads dependency schema with depends_on_id and parent-child
|
||||
---
|
||||
duration_ms: 0.7034
|
||||
...
|
||||
1..5
|
||||
# tests 5
|
||||
# suites 0
|
||||
# pass 5
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 279.9641
|
||||
TAP version 13
|
||||
# Subtest: canonicalizeWindowsPath normalizes separators and drive casing
|
||||
ok 1 - canonicalizeWindowsPath normalizes separators and drive casing
|
||||
---
|
||||
duration_ms: 0.9528
|
||||
...
|
||||
# Subtest: windowsPathKey is case-insensitive stable key
|
||||
ok 2 - windowsPathKey is case-insensitive stable key
|
||||
---
|
||||
duration_ms: 0.2036
|
||||
...
|
||||
# Subtest: toDisplayPath renders forward slashes for UI readability
|
||||
ok 3 - toDisplayPath renders forward slashes for UI readability
|
||||
---
|
||||
duration_ms: 0.1337
|
||||
...
|
||||
# Subtest: sameWindowsPath handles case/separator differences
|
||||
ok 4 - sameWindowsPath handles case/separator differences
|
||||
---
|
||||
duration_ms: 0.1696
|
||||
...
|
||||
1..4
|
||||
# tests 4
|
||||
# suites 0
|
||||
# pass 4
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 300.62
|
||||
TAP version 13
|
||||
# Subtest: LeftPanel Component Contract
|
||||
# Subtest: exports LeftPanel component
|
||||
ok 1 - exports LeftPanel component
|
||||
---
|
||||
duration_ms: 306.6047
|
||||
...
|
||||
# Subtest: LeftPanel accepts issues and onEpicSelect props
|
||||
ok 2 - LeftPanel accepts issues and onEpicSelect props
|
||||
---
|
||||
duration_ms: 1.3879
|
||||
...
|
||||
1..2
|
||||
ok 1 - LeftPanel Component Contract
|
||||
---
|
||||
duration_ms: 309.0712
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Tree Structure
|
||||
# Subtest: renders epics as expandable tree items
|
||||
ok 1 - renders epics as expandable tree items
|
||||
---
|
||||
duration_ms: 1.345
|
||||
...
|
||||
# Subtest: groups beads under their parent epic
|
||||
ok 2 - groups beads under their parent epic
|
||||
---
|
||||
duration_ms: 1.7164
|
||||
...
|
||||
1..2
|
||||
ok 2 - LeftPanel Tree Structure
|
||||
---
|
||||
duration_ms: 3.332
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Responsive Behavior
|
||||
# Subtest: applies responsive classes for desktop, tablet, and mobile
|
||||
ok 1 - applies responsive classes for desktop, tablet, and mobile
|
||||
---
|
||||
duration_ms: 1.3508
|
||||
...
|
||||
1..1
|
||||
ok 3 - LeftPanel Responsive Behavior
|
||||
---
|
||||
duration_ms: 1.5231
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Scope Controls
|
||||
# Subtest: renders scope section
|
||||
ok 1 - renders scope section
|
||||
---
|
||||
duration_ms: 1.3167
|
||||
...
|
||||
1..1
|
||||
ok 4 - LeftPanel Scope Controls
|
||||
---
|
||||
duration_ms: 1.7059
|
||||
type: 'suite'
|
||||
...
|
||||
1..4
|
||||
# tests 6
|
||||
# suites 4
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 598.9805
|
||||
TAP version 13
|
||||
# Subtest: TopBar Component Contract
|
||||
# Subtest: exports TopBar component
|
||||
ok 1 - exports TopBar component
|
||||
---
|
||||
duration_ms: 683.336
|
||||
...
|
||||
# Subtest: TopBar component can be imported without errors
|
||||
ok 2 - TopBar component can be imported without errors
|
||||
---
|
||||
duration_ms: 1.848
|
||||
...
|
||||
1..2
|
||||
ok 1 - TopBar Component Contract
|
||||
---
|
||||
duration_ms: 686.5443
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar View Tabs
|
||||
# Subtest: renders view tabs: Social, Graph
|
||||
ok 1 - renders view tabs: Social, Graph
|
||||
---
|
||||
duration_ms: 1.4361
|
||||
...
|
||||
# Subtest: active tab has bold text and accent underline
|
||||
ok 2 - active tab has bold text and accent underline
|
||||
---
|
||||
duration_ms: 1.6179
|
||||
...
|
||||
1..2
|
||||
ok 2 - TopBar View Tabs
|
||||
---
|
||||
duration_ms: 3.3478
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar Filter and Controls
|
||||
# Subtest: renders filter/search input placeholder
|
||||
ok 1 - renders filter/search input placeholder
|
||||
---
|
||||
duration_ms: 1.7411
|
||||
...
|
||||
# Subtest: renders settings placeholder
|
||||
ok 2 - renders settings placeholder
|
||||
---
|
||||
duration_ms: 1.2955
|
||||
...
|
||||
1..2
|
||||
ok 3 - TopBar Filter and Controls
|
||||
---
|
||||
duration_ms: 3.5576
|
||||
type: 'suite'
|
||||
...
|
||||
1..3
|
||||
# tests 6
|
||||
# suites 3
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 991.5175
|
||||
TAP version 13
|
||||
# Subtest: Mobile Navigation - Hamburger Menu
|
||||
# Subtest: exports MobileNav component
|
||||
ok 1 - exports MobileNav component
|
||||
---
|
||||
duration_ms: 160.2862
|
||||
...
|
||||
# Subtest: renders tab buttons: Social, Graph
|
||||
ok 2 - renders tab buttons: Social, Graph
|
||||
---
|
||||
duration_ms: 1.5794
|
||||
...
|
||||
# Subtest: highlights active tab with accent color
|
||||
ok 3 - highlights active tab with accent color
|
||||
---
|
||||
duration_ms: 1.2026
|
||||
...
|
||||
# Subtest: uses setView from useUrlState on tab click
|
||||
ok 4 - uses setView from useUrlState on tab click
|
||||
---
|
||||
duration_ms: 1.1548
|
||||
...
|
||||
1..4
|
||||
ok 1 - Mobile Navigation - Hamburger Menu
|
||||
---
|
||||
duration_ms: 166.2933
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar Hamburger Menu
|
||||
# Subtest: shows hamburger button on mobile and tablet
|
||||
ok 1 - shows hamburger button on mobile and tablet
|
||||
---
|
||||
duration_ms: 520.9119
|
||||
...
|
||||
# Subtest: hamburger button opens left panel drawer
|
||||
ok 2 - hamburger button opens left panel drawer
|
||||
---
|
||||
duration_ms: 1.9043
|
||||
...
|
||||
# Subtest: hides hamburger on desktop
|
||||
ok 3 - hides hamburger on desktop
|
||||
---
|
||||
duration_ms: 1.566
|
||||
...
|
||||
1..3
|
||||
ok 2 - TopBar Hamburger Menu
|
||||
---
|
||||
duration_ms: 525.0916
|
||||
type: 'suite'
|
||||
...
|
||||
1..2
|
||||
# tests 7
|
||||
# suites 2
|
||||
# pass 7
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 1031.056
|
||||
TAP version 13
|
||||
# Subtest: SwarmCard Component Contract
|
||||
# Subtest: exports SwarmCard component
|
||||
ok 1 - exports SwarmCard component
|
||||
---
|
||||
duration_ms: 263.9758
|
||||
...
|
||||
# Subtest: SwarmCard component can be imported without errors
|
||||
ok 2 - SwarmCard component can be imported without errors
|
||||
---
|
||||
duration_ms: 1.4629
|
||||
...
|
||||
1..2
|
||||
ok 1 - SwarmCard Component Contract
|
||||
---
|
||||
duration_ms: 266.6715
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Agent Roster
|
||||
# Subtest: renders agent avatars with liveness glow
|
||||
ok 1 - renders agent avatars with liveness glow
|
||||
---
|
||||
duration_ms: 1.3692
|
||||
...
|
||||
# Subtest: displays agent current task when available
|
||||
ok 2 - displays agent current task when available
|
||||
---
|
||||
duration_ms: 1.5995
|
||||
...
|
||||
1..2
|
||||
ok 2 - SwarmCard Agent Roster
|
||||
---
|
||||
duration_ms: 3.3144
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Progress Bar
|
||||
# Subtest: renders progress bar showing completion percentage
|
||||
ok 1 - renders progress bar showing completion percentage
|
||||
---
|
||||
duration_ms: 1.8139
|
||||
...
|
||||
1..1
|
||||
ok 3 - SwarmCard Progress Bar
|
||||
---
|
||||
duration_ms: 2.0726
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Attention Items
|
||||
# Subtest: renders attention items with warning styling
|
||||
ok 1 - renders attention items with warning styling
|
||||
---
|
||||
duration_ms: 1.8572
|
||||
...
|
||||
1..1
|
||||
ok 4 - SwarmCard Attention Items
|
||||
---
|
||||
duration_ms: 2.3816
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard View-Jump Icons
|
||||
# Subtest: renders view-jump icons for navigation
|
||||
ok 1 - renders view-jump icons for navigation
|
||||
---
|
||||
duration_ms: 1.7362
|
||||
...
|
||||
1..1
|
||||
ok 5 - SwarmCard View-Jump Icons
|
||||
---
|
||||
duration_ms: 1.9907
|
||||
type: 'suite'
|
||||
...
|
||||
1..5
|
||||
# tests 7
|
||||
# suites 5
|
||||
# pass 7
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 586.4929
|
||||
TAP version 13
|
||||
# Subtest: URL State Integration - bb-ui2.22
|
||||
# Subtest: Valid URL Patterns - Social View
|
||||
# Subtest: /?view=social - defaults to social view
|
||||
ok 1 - /?view=social - defaults to social view
|
||||
---
|
||||
duration_ms: 0.8523
|
||||
...
|
||||
# Subtest: /?view=social&task=bb-buff.1&panel=open - task selected, panel open
|
||||
ok 2 - /?view=social&task=bb-buff.1&panel=open - task selected, panel open
|
||||
---
|
||||
duration_ms: 0.2088
|
||||
...
|
||||
# Subtest: /?view=social&task=bb-ui2.22 - task with dots in ID
|
||||
ok 3 - /?view=social&task=bb-ui2.22 - task with dots in ID
|
||||
---
|
||||
duration_ms: 0.1511
|
||||
...
|
||||
1..3
|
||||
ok 1 - Valid URL Patterns - Social View
|
||||
---
|
||||
duration_ms: 1.865
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Valid URL Patterns - Graph View
|
||||
# Subtest: /?view=graph - graph view default
|
||||
ok 1 - /?view=graph - graph view default
|
||||
---
|
||||
duration_ms: 0.2128
|
||||
...
|
||||
# Subtest: /?view=graph&task=bb-buff.1 - graph with task selected
|
||||
ok 2 - /?view=graph&task=bb-buff.1 - graph with task selected
|
||||
---
|
||||
duration_ms: 0.1196
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=flow - flow tab selected
|
||||
ok 3 - /?view=graph&graphTab=flow - flow tab selected
|
||||
---
|
||||
duration_ms: 0.1573
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=overview - overview tab selected
|
||||
ok 4 - /?view=graph&graphTab=overview - overview tab selected
|
||||
---
|
||||
duration_ms: 0.116
|
||||
...
|
||||
# Subtest: /?view=graph&swarm=bb-buff - graph filtered by swarm
|
||||
ok 5 - /?view=graph&swarm=bb-buff - graph filtered by swarm
|
||||
---
|
||||
duration_ms: 0.2221
|
||||
...
|
||||
1..5
|
||||
ok 2 - Valid URL Patterns - Graph View
|
||||
---
|
||||
duration_ms: 1.1579
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Deprecated Swarm View Fallback
|
||||
# Subtest: /?view=swarm - falls back to social (swarm view deprecated)
|
||||
ok 1 - /?view=swarm - falls back to social (swarm view deprecated)
|
||||
---
|
||||
duration_ms: 0.7522
|
||||
...
|
||||
# Subtest: /?view=swarm&swarm=bb-buff - falls back to social but preserves swarmId
|
||||
ok 2 - /?view=swarm&swarm=bb-buff - falls back to social but preserves swarmId
|
||||
---
|
||||
duration_ms: 0.2523
|
||||
...
|
||||
# Subtest: /?view=swarm&swarm=bb-buff&panel=open - falls back to social with panel open
|
||||
ok 3 - /?view=swarm&swarm=bb-buff&panel=open - falls back to social with panel open
|
||||
---
|
||||
duration_ms: 0.1228
|
||||
...
|
||||
1..3
|
||||
ok 3 - Deprecated Swarm View Fallback
|
||||
---
|
||||
duration_ms: 1.276
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Valid URL Patterns - Activity View
|
||||
# Subtest: /?view=activity - activity view default
|
||||
ok 1 - /?view=activity - activity view default
|
||||
---
|
||||
duration_ms: 0.1366
|
||||
...
|
||||
# Subtest: /?view=activity&agent=bb-silver-castle - filtered by agent
|
||||
ok 2 - /?view=activity&agent=bb-silver-castle - filtered by agent
|
||||
---
|
||||
duration_ms: 0.0823
|
||||
...
|
||||
# Subtest: /?view=activity&swarm=bb-buff - filtered by swarm
|
||||
ok 3 - /?view=activity&swarm=bb-buff - filtered by swarm
|
||||
---
|
||||
duration_ms: 0.0788
|
||||
...
|
||||
1..3
|
||||
ok 4 - Valid URL Patterns - Activity View
|
||||
---
|
||||
duration_ms: 0.4389
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Invalid Param Handling
|
||||
# Subtest: /?view=invalid - invalid view defaults to social
|
||||
ok 1 - /?view=invalid - invalid view defaults to social
|
||||
---
|
||||
duration_ms: 0.1141
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=invalid - invalid graphTab defaults to flow
|
||||
ok 2 - /?view=graph&graphTab=invalid - invalid graphTab defaults to flow
|
||||
---
|
||||
duration_ms: 0.0807
|
||||
...
|
||||
# Subtest: /?panel=invalid - invalid panel defaults to open
|
||||
ok 3 - /?panel=invalid - invalid panel defaults to open
|
||||
---
|
||||
duration_ms: 0.0801
|
||||
...
|
||||
# Subtest: /?task=invalid-id - invalid task ID still parsed (no validation)
|
||||
ok 4 - /?task=invalid-id - invalid task ID still parsed (no validation)
|
||||
---
|
||||
duration_ms: 0.086
|
||||
...
|
||||
1..4
|
||||
ok 5 - Invalid Param Handling
|
||||
---
|
||||
duration_ms: 0.4767
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: URL Building - State to URL
|
||||
# Subtest: builds social view URL
|
||||
ok 1 - builds social view URL
|
||||
---
|
||||
duration_ms: 0.2155
|
||||
...
|
||||
# Subtest: builds graph view with task URL
|
||||
ok 2 - builds graph view with task URL
|
||||
---
|
||||
duration_ms: 0.1448
|
||||
...
|
||||
# Subtest: builds swarm view with swarm param
|
||||
ok 3 - builds swarm view with swarm param
|
||||
---
|
||||
duration_ms: 0.0849
|
||||
...
|
||||
# Subtest: builds activity view with agent filter
|
||||
ok 4 - builds activity view with agent filter
|
||||
---
|
||||
duration_ms: 0.0913
|
||||
...
|
||||
# Subtest: preserves existing params when adding new ones
|
||||
ok 5 - preserves existing params when adding new ones
|
||||
---
|
||||
duration_ms: 0.1507
|
||||
...
|
||||
# Subtest: removes params when set to null
|
||||
ok 6 - removes params when set to null
|
||||
---
|
||||
duration_ms: 0.1207
|
||||
...
|
||||
# Subtest: returns root when all params cleared
|
||||
ok 7 - returns root when all params cleared
|
||||
---
|
||||
duration_ms: 0.0871
|
||||
...
|
||||
1..7
|
||||
ok 6 - URL Building - State to URL
|
||||
---
|
||||
duration_ms: 1.0559
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Complex URL Scenarios
|
||||
# Subtest: handles all params together
|
||||
ok 1 - handles all params together
|
||||
---
|
||||
duration_ms: 0.1183
|
||||
...
|
||||
# Subtest: empty string values treated as null/empty
|
||||
ok 2 - empty string values treated as null/empty
|
||||
---
|
||||
duration_ms: 0.0817
|
||||
...
|
||||
1..2
|
||||
ok 7 - Complex URL Scenarios
|
||||
---
|
||||
duration_ms: 0.2733
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Deep Link Patterns - From Card Icons
|
||||
# Subtest: SocialCard Graph icon: /?view=graph&task={id}
|
||||
ok 1 - SocialCard Graph icon: /?view=graph&task={id}
|
||||
---
|
||||
duration_ms: 0.1285
|
||||
...
|
||||
# Subtest: SwarmCard Graph icon: /?view=graph&swarm={id}
|
||||
ok 2 - SwarmCard Graph icon: /?view=graph&swarm={id}
|
||||
---
|
||||
duration_ms: 0.1297
|
||||
...
|
||||
# Subtest: SwarmCard Timeline icon: /?view=activity&swarm={id}
|
||||
ok 3 - SwarmCard Timeline icon: /?view=activity&swarm={id}
|
||||
---
|
||||
duration_ms: 0.0782
|
||||
...
|
||||
# Subtest: Agent avatar click: /?view=activity&agent={id}
|
||||
ok 4 - Agent avatar click: /?view=activity&agent={id}
|
||||
---
|
||||
duration_ms: 0.0769
|
||||
...
|
||||
1..4
|
||||
ok 8 - Deep Link Patterns - From Card Icons
|
||||
---
|
||||
duration_ms: 0.5198
|
||||
type: 'suite'
|
||||
...
|
||||
1..8
|
||||
ok 1 - URL State Integration - bb-ui2.22
|
||||
---
|
||||
duration_ms: 7.8584
|
||||
type: 'suite'
|
||||
...
|
||||
1..1
|
||||
# tests 31
|
||||
# suites 9
|
||||
# pass 31
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 435.1391
|
||||
TAP version 13
|
||||
# Subtest: useGraphAnalysis - module exports
|
||||
ok 1 - useGraphAnalysis - module exports
|
||||
---
|
||||
duration_ms: 29.8133
|
||||
...
|
||||
# Subtest: useGraphAnalysis underlying logic - graphModel is built correctly
|
||||
ok 2 - useGraphAnalysis underlying logic - graphModel is built correctly
|
||||
---
|
||||
duration_ms: 10.1561
|
||||
...
|
||||
# Subtest: useGraphAnalysis underlying logic - cycleNodeIdSet detects cycles
|
||||
ok 3 - useGraphAnalysis underlying logic - cycleNodeIdSet detects cycles
|
||||
---
|
||||
duration_ms: 0.5465
|
||||
...
|
||||
# Subtest: useGraphAnalysis underlying logic - cycleNodeIdSet empty for acyclic graph
|
||||
ok 4 - useGraphAnalysis underlying logic - cycleNodeIdSet empty for acyclic graph
|
||||
---
|
||||
duration_ms: 0.1687
|
||||
...
|
||||
# Subtest: useGraphAnalysis underlying logic - blockerAnalysis returns blockers
|
||||
ok 5 - useGraphAnalysis underlying logic - blockerAnalysis returns blockers
|
||||
---
|
||||
duration_ms: 0.4643
|
||||
...
|
||||
# Subtest: useGraphAnalysis underlying logic - blockerTooltipMap shows blocker info
|
||||
ok 6 - useGraphAnalysis underlying logic - blockerTooltipMap shows blocker info
|
||||
---
|
||||
duration_ms: 0.3071
|
||||
...
|
||||
1..6
|
||||
# tests 6
|
||||
# suites 0
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 559.0462
|
||||
TAP version 13
|
||||
# Subtest: SmartDag - file exists and exports
|
||||
ok 1 - SmartDag - file exists and exports
|
||||
---
|
||||
duration_ms: 4.3779
|
||||
...
|
||||
# Subtest: SmartDag - contains Filters toggle button
|
||||
ok 2 - SmartDag - contains Filters toggle button
|
||||
---
|
||||
duration_ms: 0.949
|
||||
...
|
||||
# Subtest: SmartDag - contains Assign toggle button
|
||||
ok 3 - SmartDag - contains Assign toggle button
|
||||
---
|
||||
duration_ms: 0.7066
|
||||
...
|
||||
# Subtest: SmartDag - contains WorkflowTabs
|
||||
ok 4 - SmartDag - contains WorkflowTabs
|
||||
---
|
||||
duration_ms: 1.1698
|
||||
...
|
||||
# Subtest: SmartDag - supports onAssignModeChange callback
|
||||
ok 5 - SmartDag - supports onAssignModeChange callback
|
||||
---
|
||||
duration_ms: 1.4824
|
||||
...
|
||||
# Subtest: SmartDag - supports onSelectedIssueChange callback
|
||||
ok 6 - SmartDag - supports onSelectedIssueChange callback
|
||||
---
|
||||
duration_ms: 0.8891
|
||||
...
|
||||
# Subtest: SmartDag - imports TaskCardGrid
|
||||
ok 7 - SmartDag - imports TaskCardGrid
|
||||
---
|
||||
duration_ms: 0.93
|
||||
...
|
||||
# Subtest: SmartDag - imports WorkflowGraph
|
||||
ok 8 - SmartDag - imports WorkflowGraph
|
||||
---
|
||||
duration_ms: 0.8032
|
||||
...
|
||||
# Subtest: SmartDag - passes assignMode to WorkflowGraph
|
||||
ok 9 - SmartDag - passes assignMode to WorkflowGraph
|
||||
---
|
||||
duration_ms: 0.9817
|
||||
...
|
||||
# Subtest: SmartDag - manages hideClosed filter
|
||||
ok 10 - SmartDag - manages hideClosed filter
|
||||
---
|
||||
duration_ms: 1.1005
|
||||
...
|
||||
# Subtest: SmartDag - manages sortReadyFirst filter
|
||||
ok 11 - SmartDag - manages sortReadyFirst filter
|
||||
---
|
||||
duration_ms: 0.7155
|
||||
...
|
||||
# Subtest: SmartDag - uses useGraphAnalysis hook
|
||||
ok 12 - SmartDag - uses useGraphAnalysis hook
|
||||
---
|
||||
duration_ms: 0.6575
|
||||
...
|
||||
1..12
|
||||
# tests 12
|
||||
# suites 0
|
||||
# pass 12
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 326.9817
|
||||
TAP version 13
|
||||
# Subtest: UnifiedShell - file exists and exports
|
||||
ok 1 - UnifiedShell - file exists and exports
|
||||
---
|
||||
duration_ms: 4.1613
|
||||
...
|
||||
# Subtest: UnifiedShell - has assignMode state
|
||||
ok 2 - UnifiedShell - has assignMode state
|
||||
---
|
||||
duration_ms: 1.0953
|
||||
...
|
||||
# Subtest: UnifiedShell - has selectedAssignIssue state
|
||||
ok 3 - UnifiedShell - has selectedAssignIssue state
|
||||
---
|
||||
duration_ms: 0.7628
|
||||
...
|
||||
# Subtest: UnifiedShell - passes onAssignModeChange to SmartDag
|
||||
ok 4 - UnifiedShell - passes onAssignModeChange to SmartDag
|
||||
---
|
||||
duration_ms: 0.7559
|
||||
...
|
||||
# Subtest: UnifiedShell - passes onSelectedIssueChange to SmartDag
|
||||
ok 5 - UnifiedShell - passes onSelectedIssueChange to SmartDag
|
||||
---
|
||||
duration_ms: 1.3606
|
||||
...
|
||||
# Subtest: UnifiedShell - imports AssignmentPanel
|
||||
ok 6 - UnifiedShell - imports AssignmentPanel
|
||||
---
|
||||
duration_ms: 0.9392
|
||||
...
|
||||
# Subtest: UnifiedShell - checks bd health and renders setup warning
|
||||
ok 7 - UnifiedShell - checks bd health and renders setup warning
|
||||
---
|
||||
duration_ms: 0.7768
|
||||
...
|
||||
# Subtest: UnifiedShell - renders AssignmentPanel conditionally
|
||||
not ok 8 - UnifiedShell - renders AssignmentPanel conditionally
|
||||
---
|
||||
duration_ms: 1.9496
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\components\\unified-shell.test.tsx:2:3626'
|
||||
failureType: 'testCodeFailure'
|
||||
error: 'Should check view === graph && assignMode condition for AssignmentPanel'
|
||||
code: 'ERR_ASSERTION'
|
||||
name: 'AssertionError'
|
||||
expected: true
|
||||
actual: false
|
||||
operator: '=='
|
||||
stack: |-
|
||||
TestContext.<anonymous> (C:\Users\Zenchant\codex\beadboard\tests\components\unified-shell.test.tsx:53:10)
|
||||
async Test.run (node:internal/test_runner/test:935:9)
|
||||
async Test.processPendingSubtests (node:internal/test_runner/test:633:7)
|
||||
...
|
||||
# Subtest: UnifiedShell - does not import SwarmWorkspace
|
||||
ok 9 - UnifiedShell - does not import SwarmWorkspace
|
||||
---
|
||||
duration_ms: 1.647
|
||||
...
|
||||
# Subtest: UnifiedShell - does not import SwarmMissionPicker
|
||||
ok 10 - UnifiedShell - does not import SwarmMissionPicker
|
||||
---
|
||||
duration_ms: 1.0699
|
||||
...
|
||||
1..10
|
||||
# tests 10
|
||||
# suites 0
|
||||
# pass 9
|
||||
# fail 1
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 309.2239
|
||||
1395
.beads/npm_test_output3.txt
Normal file
1395
.beads/npm_test_output3.txt
Normal file
File diff suppressed because it is too large
Load diff
3
.beads/task1.txt
Normal file
3
.beads/task1.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
✓ Created issue: beadboard-txj.1 — Implement graph transitive reduction algorithm
|
||||
Priority: P0
|
||||
Status: open
|
||||
3
.beads/task2.txt
Normal file
3
.beads/task2.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
✓ Created issue: beadboard-txj.2 — Apply Status Colors and Transitive Context to Graph Edges
|
||||
Priority: P0
|
||||
Status: open
|
||||
3
.beads/task3.txt
Normal file
3
.beads/task3.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
✓ Created issue: beadboard-txj.3 — Implement Graph Focus (Selection) Interactivity
|
||||
Priority: P1
|
||||
Status: open
|
||||
790
.beads/test_output.txt
Normal file
790
.beads/test_output.txt
Normal file
|
|
@ -0,0 +1,790 @@
|
|||
TAP version 13
|
||||
# Subtest: bootstrap scaffold files exist
|
||||
ok 1 - bootstrap scaffold files exist
|
||||
---
|
||||
duration_ms: 1.7879
|
||||
...
|
||||
# Subtest: package.json has next/react/typescript scripts and deps
|
||||
ok 2 - package.json has next/react/typescript scripts and deps
|
||||
---
|
||||
duration_ms: 0.7269
|
||||
...
|
||||
1..2
|
||||
# tests 2
|
||||
# suites 0
|
||||
# pass 2
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 109.641
|
||||
TAP version 13
|
||||
# Subtest: BaseCard Component Contract
|
||||
# Subtest: exports BaseCard component
|
||||
ok 1 - exports BaseCard component
|
||||
---
|
||||
duration_ms: 49.7712
|
||||
...
|
||||
1..1
|
||||
ok 1 - BaseCard Component Contract
|
||||
---
|
||||
duration_ms: 50.4334
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: BaseCard Styling Logic
|
||||
# Subtest: should be possible to import the component
|
||||
ok 1 - should be possible to import the component
|
||||
---
|
||||
duration_ms: 1.6802
|
||||
...
|
||||
# Subtest: applies correct status border class for "ready" status
|
||||
ok 2 - applies correct status border class for "ready" status
|
||||
---
|
||||
duration_ms: 14.5164
|
||||
...
|
||||
# Subtest: applies correct status border class for "blocked" status
|
||||
ok 3 - applies correct status border class for "blocked" status
|
||||
---
|
||||
duration_ms: 5.9515
|
||||
...
|
||||
# Subtest: applies selection ring when selected prop is true
|
||||
ok 4 - applies selection ring when selected prop is true
|
||||
---
|
||||
duration_ms: 2.9283
|
||||
...
|
||||
1..4
|
||||
ok 2 - BaseCard Styling Logic
|
||||
---
|
||||
duration_ms: 25.6463
|
||||
type: 'suite'
|
||||
...
|
||||
1..2
|
||||
# tests 5
|
||||
# suites 2
|
||||
# pass 5
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 387.1692
|
||||
TAP version 13
|
||||
# Subtest: AgentAvatar Component Contract
|
||||
# Subtest: exports AgentAvatar component
|
||||
ok 1 - exports AgentAvatar component
|
||||
---
|
||||
duration_ms: 116.5064
|
||||
...
|
||||
1..1
|
||||
ok 1 - AgentAvatar Component Contract
|
||||
---
|
||||
duration_ms: 117.1492
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: AgentAvatar Role Styling
|
||||
# Subtest: applies correct role color class for "ui" role
|
||||
ok 1 - applies correct role color class for "ui" role
|
||||
---
|
||||
duration_ms: 7.4888
|
||||
...
|
||||
# Subtest: applies correct role color class for "orchestrator" role
|
||||
ok 2 - applies correct role color class for "orchestrator" role
|
||||
---
|
||||
duration_ms: 1.8762
|
||||
...
|
||||
1..2
|
||||
ok 2 - AgentAvatar Role Styling
|
||||
---
|
||||
duration_ms: 9.6138
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: AgentAvatar ZFC States
|
||||
# Subtest: applies working pulse glow
|
||||
ok 1 - applies working pulse glow
|
||||
---
|
||||
duration_ms: 1.3946
|
||||
...
|
||||
1..1
|
||||
ok 3 - AgentAvatar ZFC States
|
||||
---
|
||||
duration_ms: 1.6685
|
||||
type: 'suite'
|
||||
...
|
||||
1..3
|
||||
# tests 4
|
||||
# suites 3
|
||||
# pass 4
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 435.7079
|
||||
TAP version 13
|
||||
# Subtest: SessionsHeader: Agent Grouping
|
||||
# Subtest: groups agents by swarm
|
||||
ok 1 - groups agents by swarm
|
||||
---
|
||||
duration_ms: 2.0443
|
||||
...
|
||||
# Subtest: shows fallback bucket for unassigned agents
|
||||
ok 2 - shows fallback bucket for unassigned agents
|
||||
---
|
||||
duration_ms: 0.1574
|
||||
...
|
||||
# Subtest: handles empty swarm groups
|
||||
ok 3 - handles empty swarm groups
|
||||
---
|
||||
duration_ms: 0.1261
|
||||
...
|
||||
1..3
|
||||
ok 1 - SessionsHeader: Agent Grouping
|
||||
---
|
||||
duration_ms: 3.2814
|
||||
type: 'suite'
|
||||
...
|
||||
1..1
|
||||
# tests 3
|
||||
# suites 1
|
||||
# pass 3
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 267.9904
|
||||
TAP version 13
|
||||
# Subtest: getAgentRoleColor returns correct color for known roles
|
||||
ok 1 - getAgentRoleColor returns correct color for known roles
|
||||
---
|
||||
duration_ms: 0.7796
|
||||
...
|
||||
# Subtest: getAgentRoleColor returns default for unknown role
|
||||
ok 2 - getAgentRoleColor returns default for unknown role
|
||||
---
|
||||
duration_ms: 0.1221
|
||||
...
|
||||
1..2
|
||||
# tests 2
|
||||
# suites 0
|
||||
# pass 2
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 250.2131
|
||||
TAP version 13
|
||||
# Subtest: parseIssuesJsonl applies defaults and preserves priority 0
|
||||
ok 1 - parseIssuesJsonl applies defaults and preserves priority 0
|
||||
---
|
||||
duration_ms: 1.1101
|
||||
...
|
||||
# Subtest: parseIssuesJsonl skips malformed and blank lines
|
||||
ok 2 - parseIssuesJsonl skips malformed and blank lines
|
||||
---
|
||||
duration_ms: 0.1893
|
||||
...
|
||||
# Subtest: parseIssuesJsonl filters tombstones by default
|
||||
ok 3 - parseIssuesJsonl filters tombstones by default
|
||||
---
|
||||
duration_ms: 0.148
|
||||
...
|
||||
# Subtest: parseIssuesJsonl can include tombstones when requested
|
||||
ok 4 - parseIssuesJsonl can include tombstones when requested
|
||||
---
|
||||
duration_ms: 0.1451
|
||||
...
|
||||
# Subtest: parseIssuesJsonl supports beads dependency schema with depends_on_id and parent-child
|
||||
ok 5 - parseIssuesJsonl supports beads dependency schema with depends_on_id and parent-child
|
||||
---
|
||||
duration_ms: 0.7609
|
||||
...
|
||||
1..5
|
||||
# tests 5
|
||||
# suites 0
|
||||
# pass 5
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 275.8118
|
||||
TAP version 13
|
||||
# Subtest: canonicalizeWindowsPath normalizes separators and drive casing
|
||||
ok 1 - canonicalizeWindowsPath normalizes separators and drive casing
|
||||
---
|
||||
duration_ms: 0.9571
|
||||
...
|
||||
# Subtest: windowsPathKey is case-insensitive stable key
|
||||
ok 2 - windowsPathKey is case-insensitive stable key
|
||||
---
|
||||
duration_ms: 0.2276
|
||||
...
|
||||
# Subtest: toDisplayPath renders forward slashes for UI readability
|
||||
ok 3 - toDisplayPath renders forward slashes for UI readability
|
||||
---
|
||||
duration_ms: 0.1456
|
||||
...
|
||||
# Subtest: sameWindowsPath handles case/separator differences
|
||||
ok 4 - sameWindowsPath handles case/separator differences
|
||||
---
|
||||
duration_ms: 0.1285
|
||||
...
|
||||
1..4
|
||||
# tests 4
|
||||
# suites 0
|
||||
# pass 4
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 257.9372
|
||||
TAP version 13
|
||||
# Subtest: LeftPanel Component Contract
|
||||
# Subtest: exports LeftPanel component
|
||||
ok 1 - exports LeftPanel component
|
||||
---
|
||||
duration_ms: 476.382
|
||||
...
|
||||
# Subtest: LeftPanel accepts issues and onEpicSelect props
|
||||
ok 2 - LeftPanel accepts issues and onEpicSelect props
|
||||
---
|
||||
duration_ms: 2.427
|
||||
...
|
||||
1..2
|
||||
ok 1 - LeftPanel Component Contract
|
||||
---
|
||||
duration_ms: 480.2344
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Tree Structure
|
||||
# Subtest: renders epics as expandable tree items
|
||||
ok 1 - renders epics as expandable tree items
|
||||
---
|
||||
duration_ms: 2.4781
|
||||
...
|
||||
# Subtest: groups beads under their parent epic
|
||||
ok 2 - groups beads under their parent epic
|
||||
---
|
||||
duration_ms: 2.3032
|
||||
...
|
||||
1..2
|
||||
ok 2 - LeftPanel Tree Structure
|
||||
---
|
||||
duration_ms: 5.297
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Responsive Behavior
|
||||
# Subtest: applies responsive classes for desktop, tablet, and mobile
|
||||
ok 1 - applies responsive classes for desktop, tablet, and mobile
|
||||
---
|
||||
duration_ms: 2.5744
|
||||
...
|
||||
1..1
|
||||
ok 3 - LeftPanel Responsive Behavior
|
||||
---
|
||||
duration_ms: 2.8537
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: LeftPanel Scope Controls
|
||||
# Subtest: renders scope section
|
||||
ok 1 - renders scope section
|
||||
---
|
||||
duration_ms: 2.4409
|
||||
...
|
||||
1..1
|
||||
ok 4 - LeftPanel Scope Controls
|
||||
---
|
||||
duration_ms: 3.207
|
||||
type: 'suite'
|
||||
...
|
||||
1..4
|
||||
# tests 6
|
||||
# suites 4
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 762.0118
|
||||
TAP version 13
|
||||
# Subtest: TopBar Component Contract
|
||||
# Subtest: exports TopBar component
|
||||
ok 1 - exports TopBar component
|
||||
---
|
||||
duration_ms: 928.6733
|
||||
...
|
||||
# Subtest: TopBar component can be imported without errors
|
||||
ok 2 - TopBar component can be imported without errors
|
||||
---
|
||||
duration_ms: 1.5359
|
||||
...
|
||||
1..2
|
||||
ok 1 - TopBar Component Contract
|
||||
---
|
||||
duration_ms: 931.4628
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar View Tabs
|
||||
# Subtest: renders view tabs: Social, Graph
|
||||
ok 1 - renders view tabs: Social, Graph
|
||||
---
|
||||
duration_ms: 2.2099
|
||||
...
|
||||
# Subtest: active tab has bold text and accent underline
|
||||
ok 2 - active tab has bold text and accent underline
|
||||
---
|
||||
duration_ms: 1.9226
|
||||
...
|
||||
1..2
|
||||
ok 2 - TopBar View Tabs
|
||||
---
|
||||
duration_ms: 4.5329
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar Filter and Controls
|
||||
# Subtest: renders filter/search input placeholder
|
||||
ok 1 - renders filter/search input placeholder
|
||||
---
|
||||
duration_ms: 1.6872
|
||||
...
|
||||
# Subtest: renders settings placeholder
|
||||
ok 2 - renders settings placeholder
|
||||
---
|
||||
duration_ms: 1.1945
|
||||
...
|
||||
1..2
|
||||
ok 3 - TopBar Filter and Controls
|
||||
---
|
||||
duration_ms: 3.3144
|
||||
type: 'suite'
|
||||
...
|
||||
1..3
|
||||
# tests 6
|
||||
# suites 3
|
||||
# pass 6
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 1275.1308
|
||||
TAP version 13
|
||||
# Subtest: Mobile Navigation - Hamburger Menu
|
||||
# Subtest: exports MobileNav component
|
||||
ok 1 - exports MobileNav component
|
||||
---
|
||||
duration_ms: 146.0955
|
||||
...
|
||||
# Subtest: renders tab buttons: Social, Graph
|
||||
ok 2 - renders tab buttons: Social, Graph
|
||||
---
|
||||
duration_ms: 2.4626
|
||||
...
|
||||
# Subtest: highlights active tab with accent color
|
||||
ok 3 - highlights active tab with accent color
|
||||
---
|
||||
duration_ms: 2.4243
|
||||
...
|
||||
# Subtest: uses setView from useUrlState on tab click
|
||||
ok 4 - uses setView from useUrlState on tab click
|
||||
---
|
||||
duration_ms: 2.3011
|
||||
...
|
||||
1..4
|
||||
ok 1 - Mobile Navigation - Hamburger Menu
|
||||
---
|
||||
duration_ms: 155.4009
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: TopBar Hamburger Menu
|
||||
# Subtest: shows hamburger button on mobile and tablet
|
||||
ok 1 - shows hamburger button on mobile and tablet
|
||||
---
|
||||
duration_ms: 594.7571
|
||||
...
|
||||
# Subtest: hamburger button opens left panel drawer
|
||||
ok 2 - hamburger button opens left panel drawer
|
||||
---
|
||||
duration_ms: 1.5433
|
||||
...
|
||||
# Subtest: hides hamburger on desktop
|
||||
ok 3 - hides hamburger on desktop
|
||||
---
|
||||
duration_ms: 1.3406
|
||||
...
|
||||
1..3
|
||||
ok 2 - TopBar Hamburger Menu
|
||||
---
|
||||
duration_ms: 598.2042
|
||||
type: 'suite'
|
||||
...
|
||||
1..2
|
||||
# tests 7
|
||||
# suites 2
|
||||
# pass 7
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 1074.08
|
||||
TAP version 13
|
||||
# Subtest: SwarmCard Component Contract
|
||||
# Subtest: exports SwarmCard component
|
||||
ok 1 - exports SwarmCard component
|
||||
---
|
||||
duration_ms: 301.3252
|
||||
...
|
||||
# Subtest: SwarmCard component can be imported without errors
|
||||
ok 2 - SwarmCard component can be imported without errors
|
||||
---
|
||||
duration_ms: 1.6098
|
||||
...
|
||||
1..2
|
||||
ok 1 - SwarmCard Component Contract
|
||||
---
|
||||
duration_ms: 304.0952
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Agent Roster
|
||||
# Subtest: renders agent avatars with liveness glow
|
||||
ok 1 - renders agent avatars with liveness glow
|
||||
---
|
||||
duration_ms: 2.012
|
||||
...
|
||||
# Subtest: displays agent current task when available
|
||||
ok 2 - displays agent current task when available
|
||||
---
|
||||
duration_ms: 1.5509
|
||||
...
|
||||
1..2
|
||||
ok 2 - SwarmCard Agent Roster
|
||||
---
|
||||
duration_ms: 3.8907
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Progress Bar
|
||||
# Subtest: renders progress bar showing completion percentage
|
||||
ok 1 - renders progress bar showing completion percentage
|
||||
---
|
||||
duration_ms: 1.4962
|
||||
...
|
||||
1..1
|
||||
ok 3 - SwarmCard Progress Bar
|
||||
---
|
||||
duration_ms: 1.7516
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard Attention Items
|
||||
# Subtest: renders attention items with warning styling
|
||||
ok 1 - renders attention items with warning styling
|
||||
---
|
||||
duration_ms: 2.1433
|
||||
...
|
||||
1..1
|
||||
ok 4 - SwarmCard Attention Items
|
||||
---
|
||||
duration_ms: 2.818
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: SwarmCard View-Jump Icons
|
||||
# Subtest: renders view-jump icons for navigation
|
||||
ok 1 - renders view-jump icons for navigation
|
||||
---
|
||||
duration_ms: 2.1341
|
||||
...
|
||||
1..1
|
||||
ok 5 - SwarmCard View-Jump Icons
|
||||
---
|
||||
duration_ms: 2.4614
|
||||
type: 'suite'
|
||||
...
|
||||
1..5
|
||||
# tests 7
|
||||
# suites 5
|
||||
# pass 7
|
||||
# fail 0
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 612.9682
|
||||
TAP version 13
|
||||
# Subtest: URL State Integration - bb-ui2.22
|
||||
# Subtest: Valid URL Patterns - Social View
|
||||
# Subtest: /?view=social - defaults to social view
|
||||
ok 1 - /?view=social - defaults to social view
|
||||
---
|
||||
duration_ms: 0.9839
|
||||
...
|
||||
# Subtest: /?view=social&task=bb-buff.1&panel=open - task selected, panel open
|
||||
ok 2 - /?view=social&task=bb-buff.1&panel=open - task selected, panel open
|
||||
---
|
||||
duration_ms: 0.2403
|
||||
...
|
||||
# Subtest: /?view=social&task=bb-ui2.22 - task with dots in ID
|
||||
ok 3 - /?view=social&task=bb-ui2.22 - task with dots in ID
|
||||
---
|
||||
duration_ms: 0.1425
|
||||
...
|
||||
1..3
|
||||
ok 1 - Valid URL Patterns - Social View
|
||||
---
|
||||
duration_ms: 2.0615
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Valid URL Patterns - Graph View
|
||||
# Subtest: /?view=graph - graph view default
|
||||
not ok 1 - /?view=graph - graph view default
|
||||
---
|
||||
duration_ms: 3.8342
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:2578'
|
||||
failureType: 'testCodeFailure'
|
||||
error: |-
|
||||
Expected values to be strictly equal:
|
||||
|
||||
'overview' !== 'flow'
|
||||
|
||||
code: 'ERR_ASSERTION'
|
||||
name: 'AssertionError'
|
||||
expected: 'flow'
|
||||
actual: 'overview'
|
||||
operator: 'strictEqual'
|
||||
stack: |-
|
||||
TestContext.<anonymous> (C:\Users\Zenchant\codex\beadboard\tests\hooks\url-state-integration.test.ts:53:14)
|
||||
Test.runInAsyncScope (node:async_hooks:211:14)
|
||||
Test.run (node:internal/test_runner/test:934:25)
|
||||
Test.start (node:internal/test_runner/test:833:17)
|
||||
node:internal/test_runner/test:1318:71
|
||||
node:internal/per_context/primordials:483:82
|
||||
new Promise (<anonymous>)
|
||||
new SafePromise (node:internal/per_context/primordials:451:29)
|
||||
node:internal/per_context/primordials:483:9
|
||||
Array.map (<anonymous>)
|
||||
...
|
||||
# Subtest: /?view=graph&task=bb-buff.1 - graph with task selected
|
||||
ok 2 - /?view=graph&task=bb-buff.1 - graph with task selected
|
||||
---
|
||||
duration_ms: 0.2386
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=flow - flow tab selected
|
||||
ok 3 - /?view=graph&graphTab=flow - flow tab selected
|
||||
---
|
||||
duration_ms: 0.1616
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=overview - overview tab selected
|
||||
ok 4 - /?view=graph&graphTab=overview - overview tab selected
|
||||
---
|
||||
duration_ms: 0.1198
|
||||
...
|
||||
# Subtest: /?view=graph&swarm=bb-buff - graph filtered by swarm
|
||||
ok 5 - /?view=graph&swarm=bb-buff - graph filtered by swarm
|
||||
---
|
||||
duration_ms: 0.2708
|
||||
...
|
||||
1..5
|
||||
not ok 2 - Valid URL Patterns - Graph View
|
||||
---
|
||||
duration_ms: 5.0492
|
||||
type: 'suite'
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:2515'
|
||||
failureType: 'subtestsFailed'
|
||||
error: '1 subtest failed'
|
||||
code: 'ERR_TEST_FAILURE'
|
||||
...
|
||||
# Subtest: Deprecated Swarm View Fallback
|
||||
# Subtest: /?view=swarm - falls back to social (swarm view deprecated)
|
||||
ok 1 - /?view=swarm - falls back to social (swarm view deprecated)
|
||||
---
|
||||
duration_ms: 0.2049
|
||||
...
|
||||
# Subtest: /?view=swarm&swarm=bb-buff - falls back to social but preserves swarmId
|
||||
ok 2 - /?view=swarm&swarm=bb-buff - falls back to social but preserves swarmId
|
||||
---
|
||||
duration_ms: 0.271
|
||||
...
|
||||
# Subtest: /?view=swarm&swarm=bb-buff&panel=open - falls back to social with panel open
|
||||
ok 3 - /?view=swarm&swarm=bb-buff&panel=open - falls back to social with panel open
|
||||
---
|
||||
duration_ms: 0.1949
|
||||
...
|
||||
1..3
|
||||
ok 3 - Deprecated Swarm View Fallback
|
||||
---
|
||||
duration_ms: 0.8363
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Valid URL Patterns - Activity View
|
||||
# Subtest: /?view=activity - activity view default
|
||||
ok 1 - /?view=activity - activity view default
|
||||
---
|
||||
duration_ms: 0.1634
|
||||
...
|
||||
# Subtest: /?view=activity&agent=bb-silver-castle - filtered by agent
|
||||
ok 2 - /?view=activity&agent=bb-silver-castle - filtered by agent
|
||||
---
|
||||
duration_ms: 0.0883
|
||||
...
|
||||
# Subtest: /?view=activity&swarm=bb-buff - filtered by swarm
|
||||
ok 3 - /?view=activity&swarm=bb-buff - filtered by swarm
|
||||
---
|
||||
duration_ms: 0.0828
|
||||
...
|
||||
1..3
|
||||
ok 4 - Valid URL Patterns - Activity View
|
||||
---
|
||||
duration_ms: 0.5275
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Invalid Param Handling
|
||||
# Subtest: /?view=invalid - invalid view defaults to social
|
||||
ok 1 - /?view=invalid - invalid view defaults to social
|
||||
---
|
||||
duration_ms: 0.167
|
||||
...
|
||||
# Subtest: /?view=graph&graphTab=invalid - invalid graphTab defaults to flow
|
||||
not ok 2 - /?view=graph&graphTab=invalid - invalid graphTab defaults to flow
|
||||
---
|
||||
duration_ms: 0.3965
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:6479'
|
||||
failureType: 'testCodeFailure'
|
||||
error: |-
|
||||
Expected values to be strictly equal:
|
||||
|
||||
'overview' !== 'flow'
|
||||
|
||||
code: 'ERR_ASSERTION'
|
||||
name: 'AssertionError'
|
||||
expected: 'flow'
|
||||
actual: 'overview'
|
||||
operator: 'strictEqual'
|
||||
stack: |-
|
||||
TestContext.<anonymous> (C:\Users\Zenchant\codex\beadboard\tests\hooks\url-state-integration.test.ts:138:14)
|
||||
Test.runInAsyncScope (node:async_hooks:211:14)
|
||||
Test.run (node:internal/test_runner/test:934:25)
|
||||
Suite.processPendingSubtests (node:internal/test_runner/test:633:18)
|
||||
Test.postRun (node:internal/test_runner/test:1045:19)
|
||||
Test.run (node:internal/test_runner/test:973:12)
|
||||
async Promise.all (index 0)
|
||||
async Suite.run (node:internal/test_runner/test:1320:7)
|
||||
async Suite.processPendingSubtests (node:internal/test_runner/test:633:7)
|
||||
...
|
||||
# Subtest: /?panel=invalid - invalid panel defaults to open
|
||||
ok 3 - /?panel=invalid - invalid panel defaults to open
|
||||
---
|
||||
duration_ms: 0.1068
|
||||
...
|
||||
# Subtest: /?task=invalid-id - invalid task ID still parsed (no validation)
|
||||
ok 4 - /?task=invalid-id - invalid task ID still parsed (no validation)
|
||||
---
|
||||
duration_ms: 0.0904
|
||||
...
|
||||
1..4
|
||||
not ok 5 - Invalid Param Handling
|
||||
---
|
||||
duration_ms: 0.9102
|
||||
type: 'suite'
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:6178'
|
||||
failureType: 'subtestsFailed'
|
||||
error: '1 subtest failed'
|
||||
code: 'ERR_TEST_FAILURE'
|
||||
...
|
||||
# Subtest: URL Building - State to URL
|
||||
# Subtest: builds social view URL
|
||||
ok 1 - builds social view URL
|
||||
---
|
||||
duration_ms: 0.2367
|
||||
...
|
||||
# Subtest: builds graph view with task URL
|
||||
ok 2 - builds graph view with task URL
|
||||
---
|
||||
duration_ms: 0.0983
|
||||
...
|
||||
# Subtest: builds swarm view with swarm param
|
||||
ok 3 - builds swarm view with swarm param
|
||||
---
|
||||
duration_ms: 0.0888
|
||||
...
|
||||
# Subtest: builds activity view with agent filter
|
||||
ok 4 - builds activity view with agent filter
|
||||
---
|
||||
duration_ms: 0.159
|
||||
...
|
||||
# Subtest: preserves existing params when adding new ones
|
||||
ok 5 - preserves existing params when adding new ones
|
||||
---
|
||||
duration_ms: 0.1957
|
||||
...
|
||||
# Subtest: removes params when set to null
|
||||
ok 6 - removes params when set to null
|
||||
---
|
||||
duration_ms: 0.1242
|
||||
...
|
||||
# Subtest: returns root when all params cleared
|
||||
ok 7 - returns root when all params cleared
|
||||
---
|
||||
duration_ms: 0.0988
|
||||
...
|
||||
1..7
|
||||
ok 6 - URL Building - State to URL
|
||||
---
|
||||
duration_ms: 1.1817
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Complex URL Scenarios
|
||||
# Subtest: handles all params together
|
||||
ok 1 - handles all params together
|
||||
---
|
||||
duration_ms: 0.1361
|
||||
...
|
||||
# Subtest: empty string values treated as null/empty
|
||||
ok 2 - empty string values treated as null/empty
|
||||
---
|
||||
duration_ms: 0.0964
|
||||
...
|
||||
1..2
|
||||
ok 7 - Complex URL Scenarios
|
||||
---
|
||||
duration_ms: 0.317
|
||||
type: 'suite'
|
||||
...
|
||||
# Subtest: Deep Link Patterns - From Card Icons
|
||||
# Subtest: SocialCard Graph icon: /?view=graph&task={id}
|
||||
ok 1 - SocialCard Graph icon: /?view=graph&task={id}
|
||||
---
|
||||
duration_ms: 0.1474
|
||||
...
|
||||
# Subtest: SwarmCard Graph icon: /?view=graph&swarm={id}
|
||||
ok 2 - SwarmCard Graph icon: /?view=graph&swarm={id}
|
||||
---
|
||||
duration_ms: 0.086
|
||||
...
|
||||
# Subtest: SwarmCard Timeline icon: /?view=activity&swarm={id}
|
||||
ok 3 - SwarmCard Timeline icon: /?view=activity&swarm={id}
|
||||
---
|
||||
duration_ms: 0.2482
|
||||
...
|
||||
# Subtest: Agent avatar click: /?view=activity&agent={id}
|
||||
ok 4 - Agent avatar click: /?view=activity&agent={id}
|
||||
---
|
||||
duration_ms: 0.1616
|
||||
...
|
||||
1..4
|
||||
ok 8 - Deep Link Patterns - From Card Icons
|
||||
---
|
||||
duration_ms: 0.8134
|
||||
type: 'suite'
|
||||
...
|
||||
1..8
|
||||
not ok 1 - URL State Integration - bb-ui2.22
|
||||
---
|
||||
duration_ms: 12.6296
|
||||
type: 'suite'
|
||||
location: 'C:\\Users\\Zenchant\\codex\\beadboard\\tests\\hooks\\url-state-integration.test.ts:2:1269'
|
||||
failureType: 'subtestsFailed'
|
||||
error: '2 subtests failed'
|
||||
code: 'ERR_TEST_FAILURE'
|
||||
...
|
||||
1..1
|
||||
# tests 31
|
||||
# suites 9
|
||||
# pass 29
|
||||
# fail 2
|
||||
# cancelled 0
|
||||
# skipped 0
|
||||
# todo 0
|
||||
# duration_ms 481.6532
|
||||
Loading…
Add table
Add a link
Reference in a new issue