* using log directory ‘/Users/ripley/R/packages/tests-devel/creditratingsystem.Rcheck’ * using R Under development (unstable) (2026-10-28 r90772) * using platform: aarch64-apple-darwin27.2.0 * R was compiled by Apple clang version 21.0.0 (clang-2100.3.34.1) GNU Fortran (GCC) 14.2.0 * running under: macOS Golden Gate 27.2 * using session charset: UTF-8 * current time: 2026-10-28 14:58:38 UTC * using option ‘--no-stop-on-test-error’ * checking for file ‘creditratingsystem/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘creditratingsystem’ version ‘0.1.0’ * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘creditratingsystem’ can be installed ... [17s/19s] OK * checking installed package size ... INFO installed size is 10.0Mb sub-directories of 1Mb or more: R 4.1Mb extdata 4.1Mb * checking package directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... OK * checking whether the package can be loaded with stated dependencies ... OK * checking whether the package can be unloaded cleanly ... OK * checking whether the namespace can be loaded with stated dependencies ... OK * checking whether the namespace can be unloaded cleanly ... OK * checking loading without being on the library search path ... OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [36s/36s] OK * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking installed files from ‘inst/doc’ ... OK * checking examples ... OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘test-affordability.R’ Running ‘test-application.R’ Running ‘test-behavioral-development.R’ Running ‘test-behavioral.R’ Running ‘test-calibration-models.R’ Running ‘test-calibration.R’ Running ‘test-canonical-id-ordering.R’ Running ‘test-champion-challenger-example.R’ Running ‘test-classification-bayesian.R’ Running ‘test-classification-dispatch.R’ Running ‘test-classification-flexible.R’ Running ‘test-classification-models.R’ Running ‘test-classification-neural.R’ Running ‘test-classification.R’ Running ‘test-collections-prediction.R’ Running ‘test-collections.R’ Running ‘test-content-fingerprint.R’ Running ‘test-core.R’ Running ‘test-counterparty-credit-products-example.R’ Running ‘test-counterparty-public-review.R’ Running ‘test-covered-bond-products-example.R’ Running ‘test-data.R’ Running ‘test-decisioning-approval-contract.R’ Running ‘test-decisioning-economics.R’ Running ‘test-decisioning-evaluation.R’ Running ‘test-decisioning.R’ Running ‘test-dependence.R’ Running ‘test-ead-authorizations.R’ Running ‘test-ead-counterparty.R’ Running ‘test-ead-models.R’ Running ‘test-ead.R’ Running ‘test-expert-network.R’ Running ‘test-expert-probability.R’ Running ‘test-expert-qualitative.R’ Running ‘test-explainability-ale.R’ Running ‘test-explainability-attribution.R’ Running ‘test-explainability-counterfactual.R’ Running ‘test-explainability-local.R’ Running ‘test-explainability-permutation.R’ Running ‘test-explainability-reasons.R’ Running ‘test-explainability-robustness.R’ Running ‘test-features.R’ Running ‘test-hybrid-graph.R’ Running ‘test-hybrid-models.R’ Running ‘test-input-lineage-example.R’ Running ‘test-lgd-downturn.R’ Running ‘test-lgd-models.R’ Running ‘test-lgd-workout.R’ Running ‘test-lgd.R’ Running ‘test-lifetime-risk-review.R’ Running ‘test-lineage-canonical-ids.R’ Running ‘test-links.R’ Running ‘test-long-run.R’ Running ‘test-loss-paths.R’ Running ‘test-macro-satellites.R’ Running ‘test-macro.R’ Running ‘test-market-credit-review-example.R’ Running ‘test-market-implied.R’ Running ‘test-model-development-example.R’ Running ‘test-monitoring-metrics.R’ Running ‘test-monitoring.R’ Running ‘test-mortgage-household-review.R’ Running ‘test-mortgage-phase-review.R’ Running ‘test-pd-term-structure.R’ Running ‘test-portfolio-measures.R’ Running ‘test-portfolio-simulation.R’ Running ‘test-prediction-dispatch.R’ Running ‘test-rating-execution.R’ Running ‘test-rating_system.R’ Running ‘test-retail-application-journey-example.R’ Running ‘test-retail-application-phases-example.R’ Running ‘test-retail-application-risk-example.R’ Running ‘test-retail-behavior.R’ Running ‘test-retail-cashflows.R’ Running ‘test-retail-collections-review.R’ Running ‘test-retail-development-example.R’ Running ‘test-retail-evidence.R’ Running ‘test-retail-exit-models-example.R’ Running ‘test-retail-features.R’ Running ‘test-retail-governance-example.R’ Running ‘test-retail-obligations.R’ Running ‘test-retail-owner-journey-example.R’ Running ‘test-retail-pools.R’ Running ‘test-retail-portfolio-cases.R’ Running ‘test-retail-sme.R’ Running ‘test-retail-transitions-example.R’ Running ‘test-retail-workout-cases.R’ Running ‘test-revolving-lifecycle.R’ Running ‘test-scorecard.R’ Running ‘test-securitization-products-example.R’ Running ‘test-selection-bias.R’ Running ‘test-selection-transport-example.R’ Running ‘test-simulation-cashflows.R’ Running ‘test-simulation-counterparties.R’ Running ‘test-simulation-default.R’ Running ‘test-simulation-drivers.R’ Running ‘test-simulation-importance.R’ Running ‘test-simulation-recovery.R’ Running ‘test-simulation-risk.R’ Running ‘test-simulation-transactions.R’ Running ‘test-specialized-alternate-scenarios.R’ Running ‘test-specialized-asset-finance.R’ Running ‘test-specialized-governance.R’ Running ‘test-specialized-journey-review.R’ Running ‘test-specialized-monitoring.R’ Running ‘test-specialized-observed-lifecycle.R’ Running ‘test-specialized-open-workout.R’ Running ‘test-specialized-portfolio-review.R’ Running ‘test-specialized-risk-review.R’ Running ‘test-stepwise-named-design.R’ Running ‘test-structural.R’ Running ‘test-structured-counterparties.R’ Running ‘test-structured-governance-example.R’ Running ‘test-structured-journey.R’ Running ‘test-structured-lifecycle-example.R’ Running ‘test-structured-metrics.R’ Running ‘test-structured-monitoring-example.R’ Running ‘test-structured-paths.R’ Running ‘test-structured-pool-review.R’ Running ‘test-structured-pool.R’ Running ‘test-structured-recourse.R’ Running ‘test-structured-replay-review.R’ Running ‘test-structured-trade.R’ Running ‘test-structured-waterfall.R’ Running ‘test-structured-workout-example.R’ Running ‘test-survival.R’ Running ‘test-synthetic-extended.R’ Running ‘test-synthetic.R’ Running ‘test-trade-receivable-products-example.R’ Running ‘test-transfer-review-example.R’ Running ‘test-transfer.R’ Running ‘test-ttc.R’ Running ‘test-validation-affordability.R’ Running ‘test-validation-asset-pools.R’ Running ‘test-validation-benchmarks.R’ Running ‘test-validation-cashflows.R’ Running ‘test-validation-counterparty.R’ Running ‘test-validation-interventions.R’ Running ‘test-validation-lineage-replay.R’ Running ‘test-validation-losses.R’ Running ‘test-validation-migration.R’ Running ‘test-validation-numerics.R’ Running ‘test-validation-policy.R’ Running ‘test-validation-retail-pools.R’ Running ‘test-validation-retail.R’ Running ‘test-validation-selection.R’ Running ‘test-validation-stability.R’ Running ‘test-validation-survival.R’ Running ‘test-validation-system.R’ Running ‘test-validation-target-events.R’ Running ‘test-validation-vintage.R’ Running ‘test-validation.R’ Running ‘test-wholesale-commitment-governance.R’ Running ‘test-wholesale-commitment-observed.R’ Running ‘test-wholesale-commitment-portfolio.R’ Running ‘test-wholesale-commitment-review.R’ Running ‘test-wholesale-corporate-lifecycle.R’ Running ‘test-wholesale-corporate.R’ Running ‘test-wholesale-fund-finance.R’ Running ‘test-wholesale-leveraged.R’ Running ‘test-wholesale-public-service.R’ Running ‘test-wholesale-revolver.R’ Running ‘test-wholesale-sector-cashflows.R’ Running ‘test-wholesale-sector-financial.R’ Running ‘test-wholesale-sector-governance.R’ Running ‘test-wholesale-sector-journey-review.R’ Running ‘test-wholesale-sector-monitoring.R’ Running ‘test-wholesale-sector-observed.R’ Running ‘test-wholesale-sector-portfolio.R’ Running ‘test-wholesale-sector-risk-review.R’ Running ‘test-wholesale-sme-journey-review.R’ Running ‘test-wholesale-sovereign.R’ [101s/104s] ERROR Running the tests in ‘tests/test-links.R’ failed. Complete output: > if(!exists('build_entity_graph'))library(creditratingsystem) > lk_error<-function(code,expr){e<-tryCatch({force(expr);NULL},error=identity);stopifnot(inherits(e,'creditratingsystem_error'),identical(e$code,code))} > lk_near<-function(a,b)stopifnot(isTRUE(all.equal(as.numeric(unlist(a)),b,tolerance=1e-9))) > lk_policy<-list(policy_id='relations',version='1',edge_types=list('OWNERSHIP','CONTROL','CROSS_DEFAULT')) > lk_control<-list(policy_id='control',version='1',control_edge_types=list('CONTROL'),ownership_threshold=.5,ownership_inclusive=FALSE) > lk_target<-list(event='default',horizon=1,time_unit='years',probability_measure='PHYSICAL',conditioning='performing') > lk_edge<-function(i,a,b,kind='OWNERSHIP'){x<-list(edge_id=i,source_id=a,target_id=b,edge_type=kind,valid_from='2024-01-01',valid_until=NULL,known_at='2024-01-01',evidence_reference='test-contract');if(kind=='OWNERSHIP')x$ownership_fraction<-.6;x} > lk_graph<-function(edges,as_of='2024-04-01',known_at='2024-04-01')build_entity_graph(lapply(c('A','B','C','D'),function(x)list(entity_id=x)),edges,lk_policy,as_of,known_at) > e1<-lk_edge('ab','A','B');e1$valid_until<-'2024-07-01';e2<-lk_edge('db','D','B');e2$valid_from<-'2024-07-01';e2$known_at<-'2024-06-01' > g<-lk_graph(list(e1,e2,lk_edge('bc','B','C')));stopifnot(resolve_parent_links(g,lk_control)$value$parents[[3]]$ultimate_parent=='A') > later<-lk_graph(list(e1,e2,lk_edge('bc','B','C')),'2024-07-01','2024-07-01');stopifnot(resolve_parent_links(later,lk_control)$value$parents[[3]]$ultimate_parent=='D') > cycle<-lk_graph(list(lk_edge('ab','A','B'),lk_edge('ba','B','A')));stopifnot(resolve_parent_links(cycle,lk_control)$value$parents[[1]]$status=='CONTROL_CYCLE') > bad<-g$value;bad$edges[[1]]$source_id<-'D';lk_error('LINK_INTEGRITY',resolve_parent_links(bad,lk_control)) > g<-lk_graph(list(lk_edge('ab','A','B','CROSS_DEFAULT'),lk_edge('ba','B','A','CROSS_DEFAULT'),lk_edge('bc','B','C','CROSS_DEFAULT'),lk_edge('cb','C','B','CROSS_DEFAULT'))) > dp<-list(policy_id='defaults',version='1',edge_types=list('CROSS_DEFAULT'),direction_policy='mutual_only',transitive=TRUE) > r<-assign_default_groups(g,dp,list(list(facility_id='f',entity_id='A')))$value;stopifnot(identical(sort(vapply(r$groups,function(x)length(x$members),integer(1))),c(1L,3L))) > dp$transitive<-FALSE;r<-assign_default_groups(g,dp,list())$value;stopifnot(r$conflicts[[1]]$status=='NONTRANSITIVE_OVERLAP') > child<-list(entity_id='B',pd=.1,stage='STANDALONE',target=lk_target,applied_effects=list());parent<-child;parent$entity_id<-'A';parent$pd<-.2 > state<-list(available_capacity=100,willingness_given_state=.5,success_given_willing_and_funded=1,support_permitted=TRUE,evidence_reference='conditional-support');joint<-state;joint$available_capacity<-0;joint$support_permitted<-FALSE > support<-list(effect_id='support-A-B',assumption_reference='conditional-tree',currency='EUR',total_capacity=200,reserved_elsewhere=50,allocated_capacity=100,support_required=80,states=list(parent_alive=state,joint_default=joint)) > lk_near(apply_parent_support(child,parent,support,.02)$value$pd,.06);support$states$parent_alive$available_capacity<-70;lk_near(apply_parent_support(child,parent,support,.02)$value$pd,.1) > claims<-lapply(c('A','B'),function(x)list(claim_id=x,entity_id=x,amount=80,currency='EUR',due_at='2024-12-01',known_at='2024-01-01')) > guar<-list(guarantee_id='g',guarantor_id='P',currency='EUR',cap=100,cap_used=0,coverage_fraction=1,covered_claim_ids=list('A','B'),valid_from='2024-01-01',valid_until='2025-01-01',known_at='2024-01-01',legally_effective=TRUE,evidence_reference='contract') > ap<-list(policy_id='allocation',version='1',guarantee_priority=list('g'),claim_priority=list('A','B'),cap_convention='non_reinstating_total') > a<-allocate_guarantee_coverage(list(guar),claims,ap,'2024-01-01','2024-01-01','EUR');lk_near(lapply(a$value$allocations,function(r)r$covered_amount),c(80,20)) > stopifnot(identical(a$value,allocate_guarantee_coverage(list(guar),rev(claims),ap,'2024-01-01','2024-01-01','EUR')$value)) > claims<-list(list(claim_id='c',entity_id='B',amount=100,currency='EUR',due_at='2024-12-01',known_at='2024-01-01'));guar$cap<-60;guar$covered_claim_ids<-list('c');ap$claim_priority<-list('c') > a<-allocate_guarantee_coverage(list(guar),claims,ap,'2024-01-01','2024-01-01','EUR');guarantor<-parent;guarantor$entity_id<-'P' > lc<-list(effect_id='guarantee',currency='EUR',assumption_reference='four-state-table',stage='PRE_GUARANTEE',valuation_date='2024-12-01',states=list(borrower_only=list(loss_before_guarantee=80,payout_fraction=1,evidence_reference='payout'),joint_default=list(loss_before_guarantee=100,payout_fraction=0,evidence_reference='zero-payout'))) > r<-apply_guarantee_risk(child,guarantor,a,'c',lc,.02);lk_near(r$value$expected_loss_before,8.4);lk_near(r$value$expected_loss_after,3.6);stopifnot(r$value$pd==.1);lk_error('LINK_DOUBLE_COUNT',apply_guarantee_risk(r,guarantor,a,'c',lc,.02));lc$effect_id<-'renamed-effect';lk_error('LINK_DOUBLE_COUNT',apply_guarantee_risk(r,guarantor,a,'c',lc,.02)) > # Exact Frechet boundary: a certain borrower event intersects the guarantor event. > for(qb in c(.1,.2,.7)){ + cb<-child;cb$pd<-1;gb<-guarantor;gb$pd<-qb + rb<-apply_guarantee_risk(cb,gb,a,'c',lc,qb)$value + stopifnot(rb$pd==1);lk_near(rb$expected_loss_after,20*(1-qb)+100*qb) + lk_error('INVALID_JOINT_PROBABILITY',apply_guarantee_risk(cb,gb,a,'c',lc,qb-1e-7)) + lk_error('INVALID_JOINT_PROBABILITY',apply_guarantee_risk(cb,gb,a,'c',lc,qb+1e-7)) + } Error: Borrower/guarantor intersection outside Frechet bounds Execution halted Running the tests in ‘tests/test-retail-pools.R’ failed. Complete output: > if(!exists('fit_retail_risk_pools'))library(creditratingsystem) > local({ + strata<-list(product='card',borrower_type='person',facility_type='revolving',delinquency_state='current');target<-list(event='default',horizon=30,time_unit='days',probability_measure='PHYSICAL',conditioning='not_defaulted_at_index',default_unit='facility',default_definition='explicit local default policy',currency='EUR');spec<-list(spec_id='retail',version='1',known_at='2023-01-01',stratum_fields=as.list(names(strata)),score_field='score',segments=list(list(segment_id='card_current',values=strata,cutpoints=list(25,50,75),score_min=0,score_max=100,monotonicity=list(pd='increasing',lgd='none',ead='none'))),minimum_cases=2,minimum_defaults=0,minimum_lgd_count=0,minimum_ead_count=0,maximum_bin_mean_spread=list(pd=NULL,lgd=NULL,ead=NULL));rows<-list();for(case in list(list(score=10,labels=c(FALSE,FALSE)),list(score=30,labels=c(FALSE,TRUE)),list(score=60,labels=c(FALSE,FALSE,FALSE,TRUE)),list(score=80,labels=c(TRUE,TRUE))))for(default in case$labels){id<-as.character(length(rows));rows[[length(rows)+1L]]<-c(list(observation_id=id,default_unit_id=id,role='TRAIN',index_date='2023-01-01',feature_observed_at='2023-01-01',feature_known_at='2023-01-01',label_window_end='2023-01-31',label_known_at='2023-02-01',defaulted=default,default_date=if(default)'2023-01-10'else NULL,lgd_known_at=if(default)'2023-02-01'else NULL,ead_known_at=if(default)'2023-01-10'else NULL,lgd_status=if(default)'CLOSED'else 'NOT_DEFAULTED',lgd=if(default).4 else NULL,ead=if(default)100 else NULL,score=case$score),strata)};fit<-function(policy=spec,obs=rows)fit_retail_risk_pools(obs,policy,target,list(role='TRAIN',known_at='2023-02-01',split_id='train',data_fingerprint='local-source',data_origin='SYNTHETIC'),'retail','1');snapshot<-function(id,score)c(list(observation_id=id,index_date='2024-01-01',feature_observed_at='2024-01-01',feature_known_at='2024-01-01',score=score),strata);assign<-function(obs,model=fit(),policy='unassigned')assign_retail_risk_pool(obs,model,'2024-01-01','2024-01-01',target,policy) + model<-fit()$model;s<-model$parameters$segments[[1]];stopifnot(s$status=='APPLICABLE',identical(vapply(s$pools,`[[`,numeric(1),'first_bin'),c(0,1,3)),identical(vapply(s$pools,`[[`,numeric(1),'last_bin'),c(0,2,3)),identical(vapply(s$pools,function(p)p$statistics$means$pd,numeric(1)),c(0,2/6,1)),sum(vapply(s$pools,function(p)p$statistics$cases,numeric(1)))==10,sum(vapply(s$pools,function(p)p$statistics$defaults,numeric(1)))==4,s$pools[[2]]$initial_bin_mean_spread$pd==.25,model$parameters$merge_path[[1]]$reason=='MONOTONICITY:pd',!model$diagnostics$global_feasibility_claim) + p<-spec;p$minimum_cases<-3;stopifnot(length(fit(p)$model$parameters$segments[[1]]$pools)==1);p<-spec;p$maximum_bin_mean_spread$pd<-.1;m<-fit(p);stopifnot(m$model$parameters$segments[[1]]$status=='INSUFFICIENT_SUPPORT',assign(list(snapshot('a',10)),m)$value$assignments[[1]]$status=='INSUFFICIENT_SUPPORT');p<-spec;p$minimum_cases<-11;stopifnot(fit(p)$model$parameters$segments[[1]]$status=='INSUFFICIENT_SUPPORT') + r<-assign(lapply(seq_along(c(0,25,50,75,100)),function(i)snapshot(as.character(i),c(0,25,50,75,100)[[i]])))$value$assignments;stopifnot(identical(vapply(r,`[[`,numeric(1),'score_bin'),c(0,1,2,3,3)),r[[2]]$pool_id==r[[3]]$pool_id,r[[3]]$pool_id!=r[[4]]$pool_id);unknown<-snapshot('a',10);unknown$product<-'other';stopifnot(assign(list(unknown))$value$assignments[[1]]$status=='UNSEEN_STRATUM',assign(list(snapshot('a',NULL)))$value$assignments[[1]]$status=='MISSING_FEATURE',assign(list(snapshot('a',101)))$value$assignments[[1]]$status=='OUTSIDE_SCORE_DOMAIN',inherits(tryCatch(assign(list(unknown),policy='error'),error=function(e)e),'error')) + bad<-rows;bad[[1]]$role<-'VALIDATION';stopifnot(inherits(tryCatch(fit(obs=bad),error=function(e)e),'error'));bad<-rows;bad[[1]]$feature_known_at<-'2023-01-02';stopifnot(inherits(tryCatch(fit(obs=bad),error=function(e)e),'error'));model$parameters$segments[[1]]$cutpoints[[1]]<-26;stopifnot(inherits(tryCatch(assign(list(snapshot('a',10)),model),error=function(e)e),'error')) + profile<-list(profile_id='local',version='1',known_at='2024-01-01',pd_weighting='reference_exposure',lgd_weighting='ead',ead_weighting='episode',ccf_weighting='undrawn',confidence=.95,independence_assumption='independent_default_units',minimum_pool_cases=2);outcomes<-lapply(0:5,function(i)list(observation_id=as.character(i),default_unit_id=as.character(i),index_date='2024-01-01',label_window_end='2024-01-31',label_known_at='2024-01-31',outcome_status='MATURE',reference_exposure=c(100,300,200,400,100,100)[[i+1]],reference_known_at='2024-01-01',defaulted=i<3,default_date=if(i<3)'2024-01-10'else NULL));workout<-function(id,ead,recovery,status)list(episode_id=paste0('episode',id),observation_id=id,default_date='2024-01-10',default_known_at='2024-01-10',ead_at_default=ead,episode_status=status,valuation_known_at='2024-02-01',reference_date='2024-01-01',reference_known_at='2024-01-01',reference_drawn=50,reference_limit=150,recovery_cashflows=list(list(cashflow_id='cash',cashflow_date='2024-01-20',known_at='2024-01-20',currency='EUR',kind='RECOVERY',amount=recovery)),discount_curve=list(anchor_date='2024-01-10',known_at='2024-01-10',discount_basis='explicit unit factors',points=list(list(cashflow_date='2024-01-20',discount_factor=1))),fx_contract=list(reporting_currency='EUR',known_at='2024-01-20',conversion_basis='cashflow_date',rates=list(list(currency='EUR',date='2024-01-20',rate=1))));assignments<-assign(lapply(0:5,function(i)snapshot(as.character(i),if(i<4)10 else 80)));episodes<-list(workout('0',100,40,'CLOSED'),workout('1',300,240,'CLOSED'),workout('2',200,100,'OPEN')) + r<-estimate_pool_risk_parameters(assignments,outcomes,episodes,profile,'2024-02-01','cal','1');first<-r$value$pool_risk_table[[1]];last<-r$value$pool_risk_table[[3]];stopifnot(first$pd$estimate==.6,first$pd$denominator==1000,first$pd$numerator==600,first$unweighted_pd_exact_interval$estimate==.75,isTRUE(all.equal(first$closed_workout_lgd$estimate,.3)),first$closed_workout_lgd$denominator==400,isTRUE(all.equal(first$default_conditioned_ead$estimate,200)),first$default_conditioned_ccf$estimate==1.5,first$default_conditioned_ccf$denominator==300,first$open_workouts==1,first$closed_workout_lgd$count==2,abs(last$unweighted_pd_one_sided_upper-(1-sqrt(.05)))<1e-10,r$value$aggregate_mature_default_units==6,r$value$aggregate_defaults==3,r$provenance$data_origin=='SYNTHETIC') + censored<-outcomes;censored[[1]]$outcome_status<-'CENSORED';r<-estimate_pool_risk_parameters(assignments,censored,episodes,profile,'2024-02-01','cal','1');stopifnot(r$value$aggregate_mature_default_units==5,r$value$aggregate_defaults==2,r$diagnostics$excluded_workouts[[1]]$reason=='COHORT_NOT_ELIGIBLE');r<-estimate_pool_risk_parameters(assignments,outcomes,list(),profile,'2024-02-01','cal','1')$value$pool_risk_table[[1]];stopifnot(r$missing_default_workouts==3,is.null(r$closed_workout_lgd$estimate),is.null(r$default_conditioned_ead$estimate)) + }) Error in eval(quote({ : first$pd$estimate == 0.6 is not TRUE Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> stopifnot Execution halted * checking PDF version of manual ... OK * checking HTML version of manual ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR See ‘/Users/ripley/R/packages/tests-devel/creditratingsystem.Rcheck/00check.log’ for details. 184.76 real 160.21 user 15.86 sys