App-Yath-Script

 view release on metacpan or  search on metacpan

AI_AND_LLM_POLICY.txt  view on Meta::CPAN


Can developers use AI/LLM tools to contribute to Test2-Harness?

    Developers who contribute to Test2-Harness are allowed to use whatever
    tools they decide are necessary for their work. The project will not
    micromanage a contributor's workflow. This includes AI/LLM tools.

AI/LLM code MUST be human vetted

    Any code that goes into Test2::Harness should be vetted by a human.
    Maintainers who merge pull requests MUST verify the accuracy and utility of
    any PR.

    If the AI/LLM generated code needs additional edits or corrections
    before/during merge, those MUST be a separate commit indicating what human
    actions were needed to correct the generated code.

AI/LLM code MUST be in digestible chunks

    This applies to any code, but LLMs have a greater capacity for generating
    large PRs that are too big for a human to digest and verify.

    Overly large PRs must be broken up into smaller commits, and when possible
    smaller PRs. If humans cannot reasonably verify a PR it should not be
    accepted.

No 'vibe' coding

    A human must understand what is being done from start to finish. AI may
    assist, and be used as a tool. But it cannot do all the work, and it cannot
    replace your own understanding of the code you are contributing.

Significant AI/LLM code MUST be noted as such.

t/unit/Script.t  view on Meta::CPAN

    like($found, qr/\Q$marker\E$/, 'path ends with marker filename');

    unlink $marker;

    # Non-existent file returns undef
    my $missing = find_in_updir('.nonexistent_file_that_should_not_exist');
    is($missing, undef, 'returns undef for missing file');
};

subtest 'script and module accessors' => sub {
    # Before do_begin, these depend on package state. Just verify they are callable.
    ok(defined &App::Yath::Script::script, 'script() is defined');
    ok(defined &App::Yath::Script::module, 'module() is defined');
};

subtest 'inject_includes' => sub {
    local %ENV = %ENV;
    delete $ENV{T2_HARNESS_INCLUDES};

    # Should be a no-op when env var is not set
    my @orig_inc = @INC;



( run in 2.030 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )