NAME
App::karr::BoardStore - Ref-backed board storage for karr
VERSION
version 0.402
SYNOPSIS
my $store = App::karr::BoardStore->new( git => $git );
my $config = $store->load_config;
my $id = $store->allocate_next_id;
my @tasks = $store->load_tasks;
DESCRIPTION
App::karr::BoardStore treats refs/karr/* as the canonical board state. It can merge sparse config overrides with code defaults, allocate numeric task ids through a dedicated metadata ref, and materialize or serialize temporary board views for command handlers that still work with files internally.
SEE ALSO
karr, App::karr, App::karr::Git, App::karr::Task, App::karr::Config
all_status_names
Returns a list of all status names from the effective config.
my @statuses = $store->all_status_names;
status_requires_claim
Returns true if the given status requires a claim.
if ($store->status_requires_claim('in-progress')) {
# must use --claim to move here
}
is_terminal_status
Returns true if the status is terminal (done or archived).
unless ($store->is_terminal_status($task->status)) {
# task is still active
}
foundation_enabled
Returns true when automated agent runs are allowed on this board (foundation.enabled in refs/karr/config; boards default to enabled).
unless ($store->foundation_enabled) {
# karr-foundation skips this board entirely
}
foundation_reason
Returns the reason recorded with the disable flag, or undef when none was given.
my $why = $store->foundation_reason;
set_foundation_enabled
Writes the board-level agent switch and its optional reason back into refs/karr/config. Re-enabling drops the reason, and because enabled then matches the code default the whole foundation key disappears from the sparse overrides again.
$store->set_foundation_enabled( 0, 'abandoned driver' );
$store->set_foundation_enabled( 1 );
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/karr/issues.
IRC
Join #langertha on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <getty@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.