Skip to content

Commit 691bf6b

Browse files
authored
Merge pull request #827 from Extra-Chill/fix/issue-821-cleanup-metadata-output
Fix cleanup metadata compact samples
2 parents 4d5c2fa + 34e8b19 commit 691bf6b

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

inc/Cli/WorkspaceCompactOutput.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ class WorkspaceCompactOutput {
1515

1616
public static function cleanup_result( array $result ): array {
1717
$summary = (array) ( $result['summary'] ?? array() );
18-
$candidates = (array) ( $result['candidates'] ?? $result['artifact_candidates'] ?? $result['worktree_candidates'] ?? $result['rows'] ?? $result['planned'] ?? array() );
19-
$removed = (array) ( $result['removed'] ?? $result['removed_worktrees'] ?? $result['removed_artifacts'] ?? $result['written'] ?? array() );
18+
$candidates = (array) ( $result['candidates'] ?? $result['artifact_candidates'] ?? $result['worktree_candidates'] ?? $result['rows'] ?? array() );
19+
$planned = (array) ( $result['planned'] ?? array() );
20+
$written = (array) ( $result['written'] ?? array() );
21+
$removed = (array) ( $result['removed'] ?? $result['removed_worktrees'] ?? $result['removed_artifacts'] ?? array() );
2022
$skipped = (array) ( $result['skipped'] ?? array() );
2123

2224
return self::filter_empty(
@@ -33,6 +35,8 @@ public static function cleanup_result( array $result ): array {
3335
'bytes' => self::byte_summary( $summary ),
3436
'samples' => array(
3537
'candidates' => self::compact_rows( $candidates ),
38+
'planned' => self::compact_rows( $planned ),
39+
'written' => self::compact_rows( $written ),
3640
'removed' => self::compact_rows( $removed ),
3741
'skipped' => self::compact_rows( $skipped ),
3842
),

tests/workspace-compact-output.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ function compact_output_large_rows( int $count ): array {
121121
compact_output_assert(! isset($active_apply['written']), 'Compact active/no-signal apply must omit full written array.');
122122
compact_output_assert(40 === ( $active_apply['row_counts']['planned'] ?? null ), 'Compact active/no-signal apply must preserve planned count.');
123123
compact_output_assert(40 === ( $active_apply['row_counts']['written'] ?? null ), 'Compact active/no-signal apply must preserve written count.');
124+
compact_output_assert(count((array) ( $active_apply['samples']['planned'] ?? array() )) <= 5, 'Compact active/no-signal apply must sample planned metadata rows.');
125+
compact_output_assert(count((array) ( $active_apply['samples']['written'] ?? array() )) <= 5, 'Compact active/no-signal apply must sample written metadata rows.');
126+
compact_output_assert(empty($active_apply['samples']['removed'] ?? array()), 'Compact active/no-signal apply must not label written metadata rows as removed samples.');
124127
compact_output_assert(40 === ( $active_apply['blockers']['not_remote_tracking_clean']['count'] ?? null ), 'Compact active/no-signal apply must preserve blocker counts from summary.');
125128
compact_output_assert(in_array('studio wp datamachine-code workspace worktree active-no-signal-remote-clean-apply --dry-run --limit=40 --offset=40 --format=json', (array) ( $active_apply['next_commands'] ?? array() ), true), 'Compact active/no-signal apply must expose next page command.');
126129

0 commit comments

Comments
 (0)