Files
timmy-config/allegro/goap/__pycache__/goals.cpython-312.pyc

282 lines
40 KiB
Plaintext
Raw Normal View History

2026-03-31 20:02:01 +00:00
<EFBFBD>
<00>L<EFBFBD>i<EFBFBD>t<00> <00><><00>dZddlmZmZddlmZmZddlmZm Z m
Z
m Z m Z m Z ddlmZmZddlZddlZddlmZmZddlmZGd <09>d
e<0F>ZGd <0B>d e<0F>ZeGd <0A>d<0E><00>ZGd<0F>de<02>ZGd<11>de<1A>ZGd<13>de<1A>ZGd<15>de<1A>ZGd<17>de<1A>ZGd<19>de<1A>ZGd<1B>de<1A>Z Gd<1D>de<1A>Z!Gd<1F>d e<1A>Z"Gd!<21>d"e<1A>Z#Gd#<23>d$e<1A>Z$Gd%<25>d&e<1A>Z%Gd'<27>d(e<1A>Z&Gd)<29>d*e<1A>Z'Gd+<2B>d,<2C>Z(e(<28>Z)e*d-k(<00>rQe+d.<2E>d/d0d1d2d3d4<64>d5d6d7gd8d9d:<3A>gd;<3B>d<d=d>d;<3B>d?d@gdA<64>dBdCdDd8dE<64>dF<64>Z,e(<28>Z-e-j]e,<2C>e+dG<64>e-j^ja<00>D]W\Z1Z2e+e1<65>dHe2jfjhdI<64>dJe2jfjjdI<64>dKe2jfjldL<64><04><07><00>Ye+dM<64>e-jo<00>Z8e8rEe+e8jb<00>dNe8jrjb<00>dO<64><04>e+dPe8ju<00><00><00><02>e+dQ<64>e+ejve-jy<00>d3<64>R<EFBFBD><00>yy)Sz<53>
GOAP Goals Module - Allegro-Primus Child Autonomy System
Defines all autonomous goals for the Child including hunger, safety, learning, and social drives.
<EFBFBD>)<02>ABC<42>abstractmethod)<02> dataclass<73>field)<06>Dict<63>List<73>Optional<61>Callable<6C>Any<6E>Set)<02>Enum<75>autoN)<02>datetime<6D> timedelta)<01>Pathc<00>$<00>eZdZdZdZdZdZdZdZy)<08> GoalPriorityz<Priority levels for goals - higher numbers = higher priority<74><79><00><><00><><00>d<00>2N) <09>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F>CRITICAL<41>HIGH<47>MEDIUM<55>LOW<4F>
BACKGROUND<EFBFBD><00><00>/root/allegro/goap/goals.pyrrs<00><00>F<><13>H<EFBFBD> <0E>D<EFBFBD> <10>F<EFBFBD>
<0A>C<EFBFBD><13>Jr#rc<00>V<00>eZdZdZe<04>Ze<04>Ze<04>Ze<04>Ze<04>Z y)<03> GoalCategoryz!Categories of goals for the ChildN)
rrrrr<00>HUNGER<45>SAFETY<54>LEARNING<4E>SOCIAL<41>GROWTHr"r#r$r&r&s(<00><00>+<2B> <11>V<EFBFBD>F<EFBFBD> <11>V<EFBFBD>F<EFBFBD><13>v<EFBFBD>H<EFBFBD> <11>V<EFBFBD>F<EFBFBD> <11>V<EFBFBD>Fr#r&c<00><><00>eZdZUdZeed<eed<eed<dZe ed<dZ
e ed<e e j<00><08>Z e ed <e e<0E><08>Zeeefed
<ed e fd <0C><04>Zd efd <0A>Zy)<0F> GoalStatezCurrent state of a goal<61>name<6D>category<72>priority<74><00> satisfaction<6F>urgency)<01>default_factory<72> last_updated<65>metadata<74>returnc<00><><00>|jj}d|jz
dz}|jdz}||z|zS)z>Calculate effective priority based on satisfaction and urgency<63><00>?<3F><><00>,)r0<00>valuer2r3)<04>self<6C>base<73>satisfaction_penalty<74> urgency_boosts r$<00>effective_priorityzGoalState.effective_priority.sH<00><00><14>}<7D>}<7D>"<22>"<22><04> #<23>d<EFBFBD>&7<>&7<> 7<>3<EFBFBD>><3E><1C><1C> <0C> <0C>s<EFBFBD>*<2A> <0A><13>*<2A>*<2A>]<5D>:<3A>:r#c <00><><00>|j|jj|jj|j|j|j
|j |jd<01>S)N<>r.r/r0r2r3r5rAr6rC<00>r=s r$<00>to_dictzGoalState.to_dict6sV<00><00><18>I<EFBFBD>I<EFBFBD><1C> <0A> <0A>*<2A>*<2A><1C> <0A> <0A>*<2A>*<2A> <20>-<2D>-<2D><1B>|<7C>|<7C> <20>-<2D>-<2D>"&<26>"9<>"9<><1C> <0A> <0A> 
<EFBFBD>
r#N)rrrr<00>str<74>__annotations__r&rr2<00>floatr3r<00>timer5<00>dictr6rr <00>propertyrArEr"r#r$r-r-#sy<00><00>!<21>
<0A>I<EFBFBD><1A><1A><1A><1A><1D>L<EFBFBD>%<25><1D><18>G<EFBFBD>U<EFBFBD><18><1F><04> <09> <09>:<3A>L<EFBFBD>%<25>:<3A>$<24>T<EFBFBD>:<3A>H<EFBFBD>d<EFBFBD>3<EFBFBD><03>8<EFBFBD>n<EFBFBD>:<3A> <0A>;<3B>E<EFBFBD>;<3B><0E>;<3B>

<EFBFBD><14>

r#r-c<00><><00>eZdZdZdededefd<05>Zede ee
fde fd<08><04>Z ede ee
ffd <09><04>Z de ee
ffd
<EFBFBD>Zd <0B>Zd <0C>Zde fd <0A>Zy)<0F>Goalz!Abstract base class for all goalsr.r/r0c<00><><00>||_||_||_t|||<03>|_t j
<00>|_d|_d|_y)Nr) r.r/r0r-<00>staterI<00>
created_at<EFBFBD>achieved_count<6E> failed_count)r=r.r/r0s r$<00>__init__z Goal.__init__FsD<00><00><18><04> <09> <20><04> <0A> <20><04> <0A><1E>t<EFBFBD>X<EFBFBD>x<EFBFBD>8<><04>
<EFBFBD><1E>)<29>)<29>+<2B><04><0F><1F><04><1B><1D><04>r#<00> world_stater7c<00><00>y)z0Evaluate how satisfied this goal is (0.0 to 1.0)Nr")r=rTs r$<00>evaluatez Goal.evaluateO<00><00><00> r#c<00><00>y)z3Return the desired world state to achieve this goalNr"rDs r$<00>get_desired_statezGoal.get_desired_stateTrWr#c<00><><00>|j|<01>|j_tj<00>|j_tj<00>|jjz
}|j
t jk(rtd|dz <00>|j_ y|j
t jk(rtd|dz <00>|j_ y|j
t jk(rtd|dz <00>|j_ ytd|dz <00>|j_ y)z.Update goal state based on current world stater9iii i@8N) rVrOr2rIr5r/r&r'<00>minr3r(r*)r=rT<00>time_since_updates r$<00>updatez Goal.updateYs<><00><00>"&<26>-<2D>-<2D> <0B>"<<3C><04>
<EFBFBD>
<EFBFBD><1F>"&<26>)<29>)<29>+<2B><04>
<EFBFBD>
<EFBFBD><1F>!<21>I<EFBFBD>I<EFBFBD>K<EFBFBD>$<24>*<2A>*<2A>*A<>*A<>A<><19> <0F>=<3D>=<3D>L<EFBFBD>/<2F>/<2F> /<2F>!$<24>S<EFBFBD>*;<3B>d<EFBFBD>*B<>!C<>D<EFBFBD>J<EFBFBD>J<EFBFBD> <1E> <11>]<5D>]<5D>l<EFBFBD>1<>1<> 1<>!$<24>S<EFBFBD>*;<3B>d<EFBFBD>*B<>!C<>D<EFBFBD>J<EFBFBD>J<EFBFBD> <1E> <11>]<5D>]<5D>l<EFBFBD>1<>1<> 1<>!$<24>S<EFBFBD>*;<3B>d<EFBFBD>*B<>!C<>D<EFBFBD>J<EFBFBD>J<EFBFBD> <1E>!$<24>S<EFBFBD>*;<3B>e<EFBFBD>*C<>!D<>D<EFBFBD>J<EFBFBD>J<EFBFBD> r#c<00>r<00>|xjdz c_d|j_d|j_y)zMark goal as achieved<65>r9r1N)rQrOr2r3rDs r$<00> mark_achievedzGoal.mark_achievedis+<00><00> <0C><1B><1B>q<EFBFBD> <20><1B>"%<25><04>
<EFBFBD>
<EFBFBD><1F> <20><04>
<EFBFBD>
<EFBFBD>r#c<00>.<00>|xjdz c_y)zMark goal as failedr_N)rRrDs r$<00> mark_failedzGoal.mark_failedos<00><00> <0C><19><19>Q<EFBFBD><1E>r#c<00><><00>|j|jj|jj|jj <00>|j
|j |jd<01>S)N)r.r/r0rOrPrQrR)r.r/r0rOrErPrQrRrDs r$rEz Goal.to_dictssV<00><00><18>I<EFBFBD>I<EFBFBD><1C> <0A> <0A>*<2A>*<2A><1C> <0A> <0A>*<2A>*<2A><19>Z<EFBFBD>Z<EFBFBD>'<27>'<27>)<29><1E>/<2F>/<2F>"<22>1<>1<> <20>-<2D>-<2D>
<EFBFBD>
r#N)rrrrrFr&rrSrrr rHrVrYr]r`rbrEr"r#r$rMrMCs<><00><00>+<2B><1E>S<EFBFBD><1E>L<EFBFBD><1E>L<EFBFBD><1E><14> <0A>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD> <0A>u<EFBFBD> <0A><14> <0A><14> <0A>4<EFBFBD><03>S<EFBFBD><08>><3E> <0A><14> <0A>E<01>$<24>s<EFBFBD>C<EFBFBD>x<EFBFBD>.<2E>E<01> !<21> <1F> 
<EFBFBD><14> 
r#rMc<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>ResourceAcquisitionGoalz5Goal to acquire computational resources and knowledgec<00>t<00><01>t<00>|<00>dtjtj
<00><02>gd<03>|_y)N<>resource_acquisition<6F>r.r/r0)<04>compute<74>storage<67> knowledge<67>skills)<07>superrSr&r'rr<00>target_resources<65>r=<00> __class__s <20>r$rSz ResourceAcquisitionGoal.__init__<5F>s5<00><><00> <0A><07><18>'<27>!<21>(<28>(<28>!<21>&<26>&<26> <19>
<EFBFBD>
!N<01><04>r#rTr7c<00>6<00>g}|jdi<00>jdd<03>}|jdi<00>jdd<03>}|jd|dz z
<00>|jd|dz z
<00>|jdi<00>jdd <09>}d
}|jtd||z <00><00>t|jd i<00>jd g<00><00>}|jtd|dz <00><00>|rt |<02>t|<02>z Sd S)zEvaluate resource sufficiency<63>system<65> cpu_percentr<00>memory_percentr9rrk<00> total_factsr<00>'rl<00> available<6C><00>?)<05>get<65>appendr[<00>len<65>sum)r=rT<00>scores<65> cpu_usage<67> memory_usage<67>knowledge_count<6E> max_expected<65> skills_counts r$rVz ResourceAcquisitionGoal.evaluate<74>s<00><00><13><06> <20>O<EFBFBD>O<EFBFBD>H<EFBFBD>b<EFBFBD>1<>5<>5<>m<EFBFBD>R<EFBFBD>H<> <09>"<22><EFBFBD><EFBFBD>x<EFBFBD><12>4<>8<>8<>9I<39>2<EFBFBD>N<> <0C><0E> <0A> <0A>c<EFBFBD>Y<EFBFBD><13>_<EFBFBD>-<2D>.<2E><0E> <0A> <0A>c<EFBFBD>\<5C>C<EFBFBD>/<2F>0<>1<>&<26>/<2F>/<2F>+<2B>r<EFBFBD>:<3A>><3E>><3E>}<7D>a<EFBFBD>P<><0F><1C> <0C><0E> <0A> <0A>c<EFBFBD>#<23><EFBFBD><1C>=<3D>><3E>?<3F><1B>;<3B>?<3F>?<3F>8<EFBFBD>R<EFBFBD>8<><<3C><<3C>[<5B>"<22>M<>N<> <0C><0E> <0A> <0A>c<EFBFBD>#<23>|<7C>b<EFBFBD>0<>1<>2<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>ddddd<05>S)Ng>@gD@rvr)zsystem.cpu_percentzsystem.memory_percentzknowledge.total_factszskills.available_countr"rDs r$rYz)ResourceAcquisitionGoal.get_desired_state<74>s<00><00>"&<26>%)<29>%*<2A>&(<28> 
<EFBFBD>
r#<00> rrrrrSrrFr rHrVrY<00> __classcell__<5F>rps@r$rere<00>s;<00><><00>?<3F>N<01><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>*
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#rec<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>EfficiencyGoalz.Goal to operate efficiently and minimize wastec<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>operational_efficiencyrh)rmrSr&r'rrros <20>r$rSzEfficiencyGoal.__init__<5F>s*<00><><00> <0A><07><18>)<29>!<21>(<28>(<28>!<21>(<28>(<28> <19>
r#rTr7c<00>t<00>g}|jdi<00>jdd<03>}|j|<03>|jdi<00>jdd<03>}|j|<04>|jdi<00>jdd<06>}|jd|z
<00>|rt|<02>t|<02>z SdS) zEvaluate operational efficiency<63> performance<63>task_success_rate皙<65><E79A99><EFBFBD><EFBFBD><EFBFBD>?<3F>time_efficiency<63>
error_rate皙<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?r9rx)ryrzr|r{)r=rTr}<00> success_rater<65>r<>s r$rVzEfficiencyGoal.evaluate<74>s<><00><00><13><06>#<23><EFBFBD><EFBFBD>}<7D>b<EFBFBD>9<>=<3D>=<3D>>Q<>SV<53>W<> <0C><0E> <0A> <0A>l<EFBFBD>#<23>&<26>/<2F>/<2F>-<2D><12><<3C>@<40>@<40>AR<41>TW<54>X<><0F><0E> <0A> <0A>o<EFBFBD>&<26>!<21>_<EFBFBD>_<EFBFBD>]<5D>B<EFBFBD>7<>;<3B>;<3B>L<EFBFBD>#<23>N<>
<EFBFBD><0E> <0A> <0A>c<EFBFBD>J<EFBFBD>&<26>'<27>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)N<>ffffff<66>?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?g{<14>G<EFBFBD>z<EFBFBD>?)zperformance.task_success_ratezperformance.time_efficiencyzperformance.error_rater"rDs r$rYz EfficiencyGoal.get_desired_state<74>s<00><00>-1<>+.<2E>&*<2A>
<EFBFBD>
r#r<>r<>s@r$r<>r<><00>s:<00><><00>8<>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>$
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>SystemHealthGoalz,Goal to maintain system health and stabilityc<00>t<00><01>t<00>|<00>dtjtj
<00><02>gd<03>|_y)N<> system_healthrh)<04>
disk_space<EFBFBD>memory<72> processes<65>services)rmrSr&r(rr<00> health_checksros <20>r$rSzSystemHealthGoal.__init__<5F>s5<00><><00> <0A><07><18> <20>!<21>(<28>(<28>!<21>*<2A>*<2A> <19>
<EFBFBD>
O<01><04>r#rTr7c<00>x<00>g}|jdi<00>jdd<03>}|jd|dz z
<00>|jdi<00>jdd<08>}|jdi<00>jd d<08>}|j|td|<05>z <00>|jdi<00>jd
d <0B>}|jtd d|d z z
<00><00>|jdi<00>jd d <0B>}|jtd|dz <00><00>|rt |<02>t |<02>z SdS)zEvaluate system healthrr<00> disk_percentrr9rr<><00> healthy_countr_<00> total_count<6E> recent_errorsr<00>
<00> uptime_hours<72>rx<00>ryrz<00>maxr[r|r{)r=rTr}<00>
disk_usage<EFBFBD>services_healthy<68>services_totalr<6C>r<>s r$rVzSystemHealthGoal.evaluate<74>s <00><00><13><06>!<21>_<EFBFBD>_<EFBFBD>X<EFBFBD>r<EFBFBD>2<>6<>6<>~<7E>r<EFBFBD>J<>
<EFBFBD><0E> <0A> <0A>c<EFBFBD>Z<EFBFBD>#<23>-<2D>.<2E>/<2F>'<27>?<3F>?<3F>:<3A>r<EFBFBD>:<3A>><3E>><3E><EFBFBD>PQ<50>R<><18>$<24><1F><1F><1A>R<EFBFBD>8<><<3C><<3C>]<5D>A<EFBFBD>N<><0E><0E> <0A> <0A>&<26><13>Q<EFBFBD><0E>)?<3F>?<3F>@<40>$<24><0F><0F><08>"<22>5<>9<>9<>/<2F>1<EFBFBD>M<> <0A><0E> <0A> <0A>c<EFBFBD>!<21>S<EFBFBD>M<EFBFBD>B<EFBFBD>$6<>7<>8<>9<>#<23><EFBFBD><EFBFBD>x<EFBFBD><12>4<>8<>8<><1E><11>K<> <0C><0E> <0A> <0A>c<EFBFBD>#<23>|<7C>b<EFBFBD>0<>1<>2<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>ddddd<05>S)Ng<00>Q@r9rg8@)zsystem.disk_percentzservices.health_ratiozsystem.recent_errorszsystem.uptime_hoursr"rDs r$rYz"SystemHealthGoal.get_desired_state<74>s<00><00>#'<27>%(<28>$%<25>#'<27> 
<EFBFBD>
r#r<>r<>s@r$r<>r<><00>s;<00><><00>6<>O<01><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>.
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07> SecurityGoalz!Goal to maintain security posturec<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>security_posturerh<00>rmrSr&r(rrros <20>r$rSzSecurityGoal.__init__s*<00><><00> <0A><07><18>#<23>!<21>(<28>(<28>!<21>&<26>&<26> <19>
r#rTr7c<00>8<00>g}|jdi<00>jdg<00>}|jt|<03>dk(rdnd<05>|jdi<00>jdd<07>}|j|rdnd<08>|jdi<00>jd d<03>}|j|d
krdn|d krd nd<08>|jdi<00>jd d<03>}|jtdd|dz z
<00><00>|rt |<02>t|<02>z Sd S)zEvaluate security status<75>security<74> active_alertsrr9<00>333333<33>?<3F>credentials_validTr1<00>last_backup_hoursr<73><00>0rx<00>access_anomalies<65>)ryrzr{r<>r|)r=rTr}<00>security_alerts<74> creds_valid<69> last_backup<75> anomaliess r$rVzSecurityGoal.evaluate s<00><00><13><06>&<26>/<2F>/<2F>*<2A>b<EFBFBD>9<>=<3D>=<3D>o<EFBFBD>r<EFBFBD>R<><0F><0E> <0A> <0A>S<EFBFBD><1F>1<>Q<EFBFBD>6<>c<EFBFBD>C<EFBFBD>@<40>"<22>o<EFBFBD>o<EFBFBD>j<EFBFBD>"<22>5<>9<>9<>:M<>t<EFBFBD>T<> <0B><0E> <0A> <0A>[<5B>c<EFBFBD>c<EFBFBD>2<>"<22>o<EFBFBD>o<EFBFBD>j<EFBFBD>"<22>5<>9<>9<>:M<>q<EFBFBD>Q<> <0B><0E> <0A> <0A>[<5B>2<EFBFBD>-<2D>c<EFBFBD>+<2B><02>:J<>3<EFBFBD>PS<50>T<> <20>O<EFBFBD>O<EFBFBD>J<EFBFBD><02>3<>7<>7<>8J<38>A<EFBFBD>N<> <09><0E> <0A> <0A>c<EFBFBD>!<21>S<EFBFBD>I<EFBFBD><01>M<EFBFBD>2<>3<>4<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>gdddd<03>S)NTr)zsecurity.active_alertszsecurity.credentials_validzsecurity.last_backup_hourszsecurity.access_anomaliesr"rDs r$rYzSecurityGoal.get_desired_states<00><00>&(<28>*.<2E>*+<2B>)*<2A> 
<EFBFBD>
r#r<>r<>s@r$r<>r<><00>s:<00><><00>+<2B>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>,
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>DataIntegrityGoalz-Goal to ensure data integrity and consistencyc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>data_integrityrhr<>ros <20>r$rSzDataIntegrityGoal.__init__+s*<00><><00> <0A><07><18>!<21>!<21>(<28>(<28>!<21>&<26>&<26> <19>
r#rTr7c<00><><00>g}|jdi<00>jdd<03>}|j|rdnd<05>|jdi<00>jdd<07>}|jtdd|dz z
<00><00>|jdi<00>jd d
<EFBFBD>}|j|rdnd<04>|rt|<02>t |<02>z Sd S) zEvaluate data integrity<74>data<74>integrity_checkTr9r1<00> pending_syncsrr<><00>corruption_detectedFrx)ryrzr<>r|r{)r=rTr}<00> db_integrity<74> sync_pendingr<67>s r$rVzDataIntegrityGoal.evaluate2s<><00><00><13><06>#<23><EFBFBD><EFBFBD>v<EFBFBD>r<EFBFBD>2<>6<>6<>7H<37>$<24>O<> <0C><0E> <0A> <0A>\<5C>c<EFBFBD>s<EFBFBD>3<>#<23><EFBFBD><EFBFBD>v<EFBFBD>r<EFBFBD>2<>6<>6<><EFBFBD><01>J<> <0C><0E> <0A> <0A>c<EFBFBD>!<21>S<EFBFBD>L<EFBFBD>2<EFBFBD>$5<>6<>7<>8<>*<2A>o<EFBFBD>o<EFBFBD>f<EFBFBD>b<EFBFBD>9<>=<3D>=<3D>>S<>UZ<55>[<5B><1B><0E> <0A> <0A>0<>c<EFBFBD>c<EFBFBD>:<3A>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)NTrF)zdata.integrity_checkzdata.pending_syncszdata.corruption_detectedr"rDs r$rYz#DataIntegrityGoal.get_desired_stateDs<00><00>$(<28>"#<23>(-<2D>
<EFBFBD>
r#r<>r<>s@r$r<>r<>(s:<00><><00>7<>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>$
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>KnowledgeAcquisitionGoalz/Goal to acquire new knowledge and understandingc<00>t<00><01>t<00>|<00>dtjtj
<00><02>gd<03>|_y)N<>knowledge_acquisitionrh)<06>machine_learning<6E>distributed_systemsr<73><00>user_preferences<65> task_patterns<6E> optimization)rmrSr&r)rr<00>topics_of_interestros <20>r$rSz!KnowledgeAcquisitionGoal.__init__Ss4<00><><00> <0A><07><18>(<28>!<21>*<2A>*<2A>!<21>(<28>(<28> <19>
<EFBFBD>
#
<EFBFBD><04>r#rTr7c<00>"<00>g}|jdi<00>jdg<00>}tt|<03>t|j<00>z<00>}|j |t|j<00>z <00>|jdi<00>jdd<04>}|j t d|dz <00><00>|jdi<00>jdd<04>}|j t d|dz <00><00>|rt |<02>t|<02>z Sd S)
z%Evaluate knowledge acquisition statusrk<00>topics<63>new_facts_per_hourrr9r<><00>concept_connectionsrrx)ryr{<00>setr<74>rzr[r|)r=rTr}<00> known_topics<63>coverage<67>new_facts_rate<74> connectionss r$rVz!KnowledgeAcquisitionGoal.evaluate^s<><00><00><13><06>#<23><EFBFBD><EFBFBD>{<7B>B<EFBFBD>7<>;<3B>;<3B>H<EFBFBD>b<EFBFBD>I<> <0C><16>s<EFBFBD><<3C>(<28>3<EFBFBD>t<EFBFBD>/F<>/F<>+G<>G<>H<><08><0E> <0A> <0A>h<EFBFBD><13>T<EFBFBD>%<<3C>%<<3C>!=<3D>=<3D>><3E>%<25><1F><1F><1B>b<EFBFBD>9<>=<3D>=<3D>>R<>TU<54>V<><0E><0E> <0A> <0A>c<EFBFBD>#<23>~<7E><02>2<>3<>4<>"<22>o<EFBFBD>o<EFBFBD>k<EFBFBD>2<EFBFBD>6<>:<3A>:<3A>;P<>RS<52>T<> <0B><0E> <0A> <0A>c<EFBFBD>#<23>{<7B>T<EFBFBD>1<>2<>3<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr9r<>r)zknowledge.topic_coveragezknowledge.new_facts_per_hourzknowledge.concept_connectionsr"rDs r$rYz*KnowledgeAcquisitionGoal.get_desired_stateqs<00><00>(+<2B>,.<2E>-1<>
<EFBFBD>
r#r<>r<>s@r$r<>r<>Ps:<00><><00>9<> 
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>&
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>SkillDevelopmentGoalz!Goal to develop and refine skillsc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>skill_developmentrh<00>rmrSr&r)rrros <20>r$rSzSkillDevelopmentGoal.__init__|s*<00><><00> <0A><07><18>$<24>!<21>*<2A>*<2A>!<21>(<28>(<28> <19>
r#rTr7c<00>8<00>g}t|jdi<00>jdg<00><00>}|jtd|dz <00><00>|jdi<00>jdi<00>}|r7t |j <00><00>t|<04>z }|j|<05>n|jd<06>|jdi<00>jdg<00>}|jtdt|<06>dz <00><00>|rt |<02>t|<02>z SdS) z!Evaluate skill development statusrlrwr9<00><00> proficienciesrx<00> recently_usedr<64>)r{ryrzr[r|<00>values)r=rTr}<00>available_skillsr<73><00>avg_proficiency<63> recent_usages r$rVzSkillDevelopmentGoal.evaluate<74>s<><00><00><13><06><1F>{<7B><EFBFBD><EFBFBD>x<EFBFBD><12><<3C>@<40>@<40><1B>b<EFBFBD>Q<>R<><18><0E> <0A> <0A>c<EFBFBD>#<23>/<2F>"<22>4<>5<>6<>$<24><0F><0F><08>"<22>5<>9<>9<>/<2F>2<EFBFBD>N<> <0A> <18>!<21>-<2D>"6<>"6<>"8<>9<>C<EFBFBD> <0A><N<>N<>O<EFBFBD> <12>M<EFBFBD>M<EFBFBD>/<2F> *<2A> <12>M<EFBFBD>M<EFBFBD>#<23> <1E>#<23><EFBFBD><EFBFBD>x<EFBFBD><12>4<>8<>8<><1F>"<22>M<> <0C><0E> <0A> <0A>c<EFBFBD>#<23>s<EFBFBD><<3C>0<>2<EFBFBD>5<>6<>7<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr<4E>r<>r<>)zskills.diversityzskills.avg_proficiencyzskills.recent_usager"rDs r$rYz&SkillDevelopmentGoal.get_desired_state<74>s<00><00> "<22>&)<29>#%<25>
<EFBFBD>
r#r<>r<>s@r$r<>r<>ys:<00><><00>+<2B>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>,
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>AdaptationGoalz7Goal to adapt to changing environments and requirementsc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>environment_adaptationrhr<>ros <20>r$rSzAdaptationGoal.__init__<5F>s*<00><><00> <0A><07><18>)<29>!<21>*<2A>*<2A>!<21>(<28>(<28> <19>
r#rTr7c <00><><00>g}|jdi<00>jdd<03>}|j|<03>|jdi<00>jdd<05>}|j|dkrdn|dkrdnd<08>|jdi<00>jd d
<EFBFBD>}|jtd
dt|<05>z
<00><00>|rt |<02>t |<02>z Sd S) zEvaluate adaptation status<75>
adaptation<EFBFBD>pattern_recognition_rate<74>ffffff<66>?<3F>change_response_time<6D><r9r;r<><00>accuracy_driftrrx)ryrzr<><00>absr|r{)r=rTr}<00>pattern_success<73>change_responser<65>s r$rVzAdaptationGoal.evaluate<74>s<><00><00><13><06>&<26>/<2F>/<2F>,<2C><02>;<3B>?<3F>?<3F>@Z<>\_<>`<60><0F><0E> <0A> <0A>o<EFBFBD>&<26>&<26>/<2F>/<2F>,<2C><02>;<3B>?<3F>?<3F>@V<>XZ<58>[<5B><0F><0E> <0A> <0A>_<EFBFBD>r<EFBFBD>1<>c<EFBFBD>o<EFBFBD>PS<50>>S<>s<EFBFBD>Y\<5C>]<5D>%<25><1F><1F><1C>r<EFBFBD>:<3A>><3E>><3E>?O<>QR<51>S<><0E><0E> <0A> <0A>c<EFBFBD>!<21>S<EFBFBD>3<EFBFBD>~<7E>#6<>6<>7<>8<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr<4E>r<>r1)z#adaptation.pattern_recognition_ratezadaptation.change_response_timezadaptation.accuracy_driftr"rDs r$rYz AdaptationGoal.get_desired_state<74>s<00><00>36<33>/1<>),<2C>
<EFBFBD>
r#r<>r<>s@r$r<>r<><00>s:<00><><00>A<>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>$
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>UserEngagementGoalz&Goal to engage meaningfully with usersc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>user_engagementrh<00>rmrSr&r*rrros <20>r$rSzUserEngagementGoal.__init__<5F>s*<00><><00> <0A><07><18>"<22>!<21>(<28>(<28>!<21>(<28>(<28> <19>
r#rTr7c<00>
<00>g}|jdi<00>jdd<03>}|j|dkrdn|dkrdnd<08>|jdi<00>jd d<07>}|j|<04>|jdi<00>jd
d <0B>}|j|<05>|jdi<00>jd d <0A>}|jtd|dz<00><00>|rt|<02>t |<02>z SdS)zEvaluate user engagement<6E>social<61>avg_response_timer<65>r<>r9r<>r<>rx<00>user_satisfaction<6F>conversation_qualityr<79><00>proactive_ratiog<6F><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F><00>ryrzr[r|r{)r=rTr}rr2<00> quality_scorers r$rVzUserEngagementGoal.evaluate<74>s<><00><00><13><06>(<28>O<EFBFBD>O<EFBFBD>H<EFBFBD>b<EFBFBD>9<>=<3D>=<3D>>Q<>SU<53>V<><19><0E> <0A> <0A>.<2E><12>3<>c<EFBFBD>@Q<>TV<54>@V<><13>\_<>`<60>#<23><EFBFBD><EFBFBD>x<EFBFBD><12>4<>8<>8<>9L<39>c<EFBFBD>R<> <0C><0E> <0A> <0A>l<EFBFBD>#<23>$<24><0F><0F><08>"<22>5<>9<>9<>:P<>RU<52>V<> <0A><0E> <0A> <0A>m<EFBFBD>$<24>&<26>/<2F>/<2F>(<28>B<EFBFBD>7<>;<3B>;<3B><M<>s<EFBFBD>S<><0F><0E> <0A> <0A>c<EFBFBD>#<23><EFBFBD><11>2<>3<>4<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>ddddd<05>S)Ng@r<><00>333333<33>?rx)zsocial.avg_response_timezsocial.user_satisfactionzsocial.conversation_qualityzsocial.proactive_ratior"rDs r$rYz$UserEngagementGoal.get_desired_state<74>s<00><00>(+<2B>(+<2B>+/<2F>&)<29> 
<EFBFBD>
r#r<>r<>s@r$r<>r<><00>s:<00><><00>0<>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>,
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r<>c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>RelationshipBuildingGoalz0Goal to build long-term relationships with usersc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>relationship_buildingrh)rmrSr&r*rr ros <20>r$rSz!RelationshipBuildingGoal.__init__<5F>s*<00><><00> <0A><07><18>(<28>!<21>(<28>(<28>!<21>%<25>%<25> <19>
r#rTr7c<00><00>g}|jdi<00>jdd<03>}|jdi<00>jdd<03>}|j|td|<04>z <00>|jdi<00>jdd<06>}|jtd|dz <00><00>|jdi<00>jd d
<EFBFBD>}|jtd|d z <00><00>|rt |<02>t |<02>z Sd S) zEvaluate relationship buildingr<00> active_usersr_<00> total_users<72>avg_conversation_historyr<79>r9r<00>preferences_learnedr<00>rxr<>)r=rTr}rr<00> avg_history<72> prefs_learneds r$rVz!RelationshipBuildingGoal.evaluate<74>s<><00><00><13><06>#<23><EFBFBD><EFBFBD>x<EFBFBD><12>4<>8<>8<><1E><11>K<> <0C>!<21>o<EFBFBD>o<EFBFBD>h<EFBFBD><02>3<>7<>7<> <0A>q<EFBFBD>I<> <0B><0E> <0A> <0A>l<EFBFBD>S<EFBFBD><11>K<EFBFBD>%8<>8<>9<>"<22>o<EFBFBD>o<EFBFBD>h<EFBFBD><02>3<>7<>7<>8R<38>TV<54>W<> <0B><0E> <0A> <0A>c<EFBFBD>#<23>{<7B>S<EFBFBD>0<>1<>2<>$<24><0F><0F><08>"<22>5<>9<>9<>:O<>QR<51>S<> <0A><0E> <0A> <0A>c<EFBFBD>#<23>}<7D>r<EFBFBD>1<>2<>3<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr<4E>rr)zsocial.user_retentionzsocial.avg_conversation_historyzsocial.preferences_learnedr"rDs r$rYz*RelationshipBuildingGoal.get_desired_states<00><00>%(<28>/2<>*,<2C>
<EFBFBD>
r#r<>r<>s@r$rr<00>s:<00><><00>:<3A>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>&
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#rc<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>CollaborationGoalz9Goal to collaborate effectively with other agents/systemsc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>system_collaborationrhrros <20>r$rSzCollaborationGoal.__init__s*<00><><00> <0A><07><18>'<27>!<21>(<28>(<28>!<21>(<28>(<28> <19>
r#rTr7c<00><><00>g}|jdi<00>jdi<00>}|r>td<03>|j<00>D<00><00>}|j|t |<03>z <00>n|jd<04>|jdi<00>jdd<06>}|j|<05>|jdi<00>jdd<04>}|j|<06>|rt|<02>t |<02>z SdS)z$Evaluate collaboration effectivenessr<00> integrationsc3<00>FK<00>|]}|jdd<01>s<01>d<02><01><00>y<03>w)<04>healthyFr_N)ry)<02>.0<EFBFBD>vs r$<00> <genexpr>z-CollaborationGoal.evaluate.<locals>.<genexpr>(s<00><00><><00>\<5C>a<EFBFBD>A<EFBFBD>E<EFBFBD>E<EFBFBD>)<29>UZ<55>D[<5B><01>\<5C>s<00>!<01>!rx<00>handoff_success_rater<65><00>shared_knowledge_usage)ryr|r<>rzr{)r=rTr}rr<><00>handoff_success<73>shared_knowledges r$rVzCollaborationGoal.evaluate!s<><00><00><13><06>#<23><EFBFBD><EFBFBD>x<EFBFBD><12>4<>8<>8<><1E><12>L<> <0C> <17><1F>\<5C><<3C>+><3E>+><3E>+@<40>\<5C>\<5C>M<EFBFBD> <12>M<EFBFBD>M<EFBFBD>-<2D>#<23>l<EFBFBD>*;<3B>;<3B> <<3C> <12>M<EFBFBD>M<EFBFBD>#<23> <1E>&<26>/<2F>/<2F>(<28>B<EFBFBD>7<>;<3B>;<3B><R<>TW<54>X<><0F><0E> <0A> <0A>o<EFBFBD>&<26>'<27>?<3F>?<3F>8<EFBFBD>R<EFBFBD>8<><<3C><<3C>=U<>WZ<57>[<5B><18><0E> <0A> <0A>&<26>'<27>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr9r<>r<>)zsocial.integration_healthzsocial.handoff_success_ratezsocial.shared_knowledge_usager"rDs r$rYz#CollaborationGoal.get_desired_state7s<00><00>),<2C>+/<2F>-0<>
<EFBFBD>
r#r<>r<>s@r$rrs:<00><><00>C<>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>,
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#rc<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>SelfImprovementGoalz!Goal to continuously improve selfc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<>self_improvementrh)rmrSr&r+rr ros <20>r$rSzSelfImprovementGoal.__init__Fs*<00><><00> <0A><07><18>#<23>!<21>(<28>(<28>!<21>%<25>%<25> <19>
r#rTr7c<00><><00>g}|jdi<00>jdd<03>}|jd|dz z<00>|jdi<00>jdd<03>}|jtd|dz <00><00>|jdi<00>jd d<03>}|jtd|d
z <00><00>|rt|<02>t |<02>z SdS) z"Evaluate self-improvement progress<73>growth<74>performance_trendrrxr<00>new_capabilitiesr9r<><00>optimizations_foundr<64>r )r=rTr}<00>
perf_trendr1<00> optimizationss r$rVzSelfImprovementGoal.evaluateMs<><00><00><13><06>!<21>_<EFBFBD>_<EFBFBD>X<EFBFBD>r<EFBFBD>2<>6<>6<>7J<37>A<EFBFBD>N<>
<EFBFBD><0E> <0A> <0A>c<EFBFBD>Z<EFBFBD>!<21>^<5E>,<2C>-<2D>'<27>?<3F>?<3F>8<EFBFBD>R<EFBFBD>8<><<3C><<3C>=O<>QR<51>S<><18><0E> <0A> <0A>c<EFBFBD>#<23>/<2F>!<21>3<>4<>5<>$<24><0F><0F><08>"<22>5<>9<>9<>:O<>QR<51>S<> <0A><0E> <0A> <0A>c<EFBFBD>#<23>}<7D>r<EFBFBD>1<>2<>3<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr<4E>r<>r<>)zgrowth.performance_trendzgrowth.new_capabilitieszgrowth.optimizations_foundr"rDs r$rYz%SelfImprovementGoal.get_desired_state_s<00><00>(+<2B>'(<28>*,<2C>
<EFBFBD>
r#r<>r<>s@r$r+r+Cs:<00><><00>+<2B>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>$
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r+c<00>R<00><00>eZdZdZ<03>fd<02>Zdeeefdefd<05>Z deeeffd<06>Z
<EFBFBD>xZ S)<07>ExplorationGoalz3Goal to explore new possibilities and opportunitiesc<00>b<00><01>t<00>|<00>dtjtj
<00><02>y)N<> explorationrh)rmrSr&r+rr!ros <20>r$rSzExplorationGoal.__init__js*<00><><00> <0A><07><18><1E>!<21>(<28>(<28>!<21>,<2C>,<2C> <19>
r#rTr7c<00><><00>g}|jdi<00>jdd<03>}|jtd|dz <00><00>|jdi<00>jdd<07>}|j|<04>|jdi<00>jdd<03>}|jtd|d z <00><00>|rt|<02>t |<02>z SdS)
zEvaluate exploration statusr/<00>new_areas_exploredrr9r<><00>experiment_success_raterx<00> discoveries<65>r )r=rTr}<00> new_areas<61> exp_successr=s r$rVzExplorationGoal.evaluateqs<><00><00><13><06> <20>O<EFBFBD>O<EFBFBD>H<EFBFBD>b<EFBFBD>1<>5<>5<>6J<36>A<EFBFBD>N<> <09><0E> <0A> <0A>c<EFBFBD>#<23>y<EFBFBD>1<EFBFBD>}<7D>-<2D>.<2E>"<22>o<EFBFBD>o<EFBFBD>h<EFBFBD><02>3<>7<>7<>8Q<38>SV<53>W<> <0B><0E> <0A> <0A>k<EFBFBD>"<22>"<22>o<EFBFBD>o<EFBFBD>h<EFBFBD><02>3<>7<>7<> <0A>q<EFBFBD>I<> <0B><0E> <0A> <0A>c<EFBFBD>#<23>{<7B>Q<EFBFBD><EFBFBD>/<2F>0<>,2<>s<EFBFBD>6<EFBFBD>{<7B>S<EFBFBD><16>[<5B>(<28>;<3B><03>;r#c<00><00>dddd<04>S)Nr<4E>r<>r>)zgrowth.new_areas_exploredzgrowth.experiment_success_ratezgrowth.discoveriesr"rDs r$rYz!ExplorationGoal.get_desired_state<74>s<00><00>)*<2A>.1<EFBFBD>"#<23>
<EFBFBD>
r#r<>r<>s@r$r7r7gs:<00><><00>=<3D>
<EFBFBD><<3C>D<EFBFBD><13>c<EFBFBD><18>N<EFBFBD><<3C>u<EFBFBD><<3C>$
<EFBFBD>4<EFBFBD><03>S<EFBFBD><08>><3E>
r#r7c<00><><00>eZdZdZddeefd<04>Zd<05>Zd<06>Zd<07>Z de
e e ffd <09>Z dd
ed eefd <0C>Zdd
ed eefd <0A>Zded eefd<0F>Zdefd<11>Zde fd<13>Zd e
fd<14>Zd e
fd<15>Zy)<18> GoalManagerzManages all goals for the ChildN<64>
state_filec<00>z<00>i|_|xs td<01>|_|j<00>|j <00>y)Nz#/root/allegro/goap/goals_state.json)<05>goalsrrD<00>_init_default_goals<6C> _load_state)r=rDs r$rSzGoalManager.__init__<5F>s3<00><00>&(<28><04>
<EFBFBD>$<24>S<><04>-R<>(S<><04><0F> <0C> <20> <20>"<22> <0C><18><18>r#c<00>2<00>t<00>t<00>t<00>t<00>t <00>t <00>t <00>t<00>t<00>t<00>t<00>t<00>t<00>g }|D]}||j|j<<00>y)zInitialize default goal setN)rer<>r<>r<>r<>r<>r<>r<>r<>rrr+r7rFr.)r=<00> default_goals<6C>goals r$rGzGoalManager._init_default_goals<6C>s<><00><00> $<24> %<25> <1A> <1C> <1D> <1E> <18>N<EFBFBD> <1D> <1F> %<25> &<26> <20> "<22> <1A> <1C> <1F> <20> $<24> &<26> <1D> <1F> <20> !<21> <1B> <1D>-
<EFBFBD> <0A>2"<22> )<29>D<EFBFBD>$(<28>D<EFBFBD>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>y<EFBFBD> !<21> )r#c<00>r<00>|jj<00>r<> t|jd<01>5}tj|<01>}|j di<00>j <00>D]<5D>\}}||jvs<01>|j|}|j dd<04>|_|j dd<04>|_ |j dd<07>|j_ |j dd <09>|j_ <00><> d
d
d
<EFBFBD>y
y
#1swYy
xYw#t$r}td |<06><00><02>Yd
}~y
d
}~wwxYw) zLoad goal state from file<6C>rrFrQrrRr2rxr3r1Nz$[GoalManager] Failed to load state: )rD<00>exists<74>open<65>json<6F>loadry<00>itemsrFrQrRrOr2r3<00> Exception<6F>print)r=<00>fr<66>r.<00> goal_datarK<00>es r$rHzGoalManager._load_state<74>s<00><00> <0F>?<3F>?<3F> !<21> !<21> #<23> B<01><19>$<24>/<2F>/<2F>3<EFBFBD>/<2F>O<01>1<EFBFBD><1F>9<EFBFBD>9<EFBFBD>Q<EFBFBD><<3C>D<EFBFBD>+/<2F>8<EFBFBD>8<EFBFBD>G<EFBFBD>R<EFBFBD>+@<40>+F<>+F<>+H<>O<01><0F><04>i<EFBFBD><1F>4<EFBFBD>:<3A>:<3A>-<2D>#'<27>:<3A>:<3A>d<EFBFBD>#3<>D<EFBFBD>2;<3B>-<2D>-<2D>@P<>RS<52>2T<32>D<EFBFBD>/<2F>09<30> <0A> <0A>n<EFBFBD>a<EFBFBD>0P<30>D<EFBFBD>-<2D>6?<3F>m<EFBFBD>m<EFBFBD>N<EFBFBD>TW<54>6X<36>D<EFBFBD>J<EFBFBD>J<EFBFBD>3<>1:<3A><1D><1D>y<EFBFBD>#<23>1N<31>D<EFBFBD>J<EFBFBD>J<EFBFBD>.<2E> O<01>O<01>O<01> $<24>O<01>O<01><><1D> B<01><15><<3C>Q<EFBFBD>C<EFBFBD>@<40>A<>A<><41> B<01>s<<00>D<00>A
D <03>=BD <03>?D<00> D<07>D<00>D<00> D6<03>D1<03>1D6c<00><><00> tj<00>|jj<00>D<00><01>cic]\}}||j<00><00><02>c}}d<01>}|jj
j dd<02><03>t|jd<04>5}tj||d<05><06>ddd<07>ycc}}w#1swYyxYw#t$r}td|<05><00><02>Yd}~yd}~wwxYw) zSave goal state to file)<02> timestamprFT)<02>parents<74>exist_ok<6F>wr<00><01>indentNz$[GoalManager] Failed to save state: ) rIrFrRrErD<00>parent<6E>mkdirrOrP<00>dumprSrT)r=r.rKr<>rUrWs r$<00>
save_statezGoalManager.save_state<74>s<><00><00> ><3E>!<21>Y<EFBFBD>Y<EFBFBD>[<5B>AE<41><1A><1A>AQ<41>AQ<41>AS<41>T<>:<3A>4<EFBFBD><14>$<24><04> <0C> <0C><0E>.<2E>T<><0E>D<EFBFBD> <11>O<EFBFBD>O<EFBFBD> "<22> "<22> (<28> (<28><14><04> (<28> E<><15>d<EFBFBD>o<EFBFBD>o<EFBFBD>s<EFBFBD>+<2B> -<2D>q<EFBFBD><14> <09> <09>$<24><01>!<21>,<2C> -<2D> -<2D><>U<01> -<2D> -<2D><><18> ><3E> <11>8<><11><03><<3C> =<3D> =<3D><> ><3E>sG<00>0C<00>B2<08> AC<00>B8<03>)C<00>2C<00>8C<07>=C<00>C<00> C%<03> C <03> C%rTc<00>d<00>|jj<00>D]}|j|<01><00>y)z%Update all goals based on world stateN)rFr<>r])r=rTrKs r$<00>
update_allzGoalManager.update_all<6C>s*<00><00><18>J<EFBFBD>J<EFBFBD>%<25>%<25>'<27> %<25>D<EFBFBD> <10>K<EFBFBD>K<EFBFBD> <0B> $<24> %r#<00> thresholdr7c<00><><00>g}|jj<00>D]-}|jj|ks<01>|j |<03><00>/t |d<01>d<02><03>S)z<Get goals that need attention (satisfaction below threshold)c<00>.<00>|jjS<00>N)rOrA)<01>gs r$<00><lambda>z.GoalManager.get_active_goals.<locals>.<lambda><3E>s<00><00>A<EFBFBD>G<EFBFBD>G<EFBFBD>,F<>,F<>r#T)<02>key<65>reverse)rFr<>rOr2rz<00>sorted)r=re<00>activerKs r$<00>get_active_goalszGoalManager.get_active_goals<6C>sT<00><00><13><06><18>J<EFBFBD>J<EFBFBD>%<25>%<25>'<27> $<24>D<EFBFBD><13>z<EFBFBD>z<EFBFBD>&<26>&<26><19>2<><16> <0A> <0A>d<EFBFBD>#<23> $<24><16>f<EFBFBD>"F<>PT<50>U<>Ur#c<00>6<00>|j|<01>}|r|dSdS)z/Get the highest priority goal needing attentionrN)ro)r=rerns r$<00> get_top_goalzGoalManager.get_top_goal<61>s#<00><00><15>&<26>&<26>y<EFBFBD>1<><06>"<22>v<EFBFBD>a<EFBFBD>y<EFBFBD>,<2C><04>,r#r/c<00>|<00>|jj<00>D<00>cgc]}|j|k(s<01>|<02><02>c}Scc}w)zGet all goals in a category)rFr<>r/)r=r/ris r$<00>get_goals_by_categoryz!GoalManager.get_goals_by_category<72>s.<00><00><1F>:<3A>:<3A>,<2C>,<2C>.<2E>I<>a<EFBFBD>!<21>*<2A>*<2A><08>2H<32><01>I<>I<><49>Is<00>9<04>9rKc<00>6<00>||j|j<y)zAdd a custom goalN)rFr.)r=rKs r$<00>add_goalzGoalManager.add_goal<61>s<00><00> $<24><04>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>r#r.c<00><<00>||jvr|j|=yy)z Remove a goalN)rF)r=r.s r$<00> remove_goalzGoalManager.remove_goal<61>s<00><00> <0F>4<EFBFBD>:<3A>:<3A> <1D><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> r#c <00>L<00>t|j<00>tD<00>cic]'}|jt|j |<01><00><00><02>)c}t d<01>|jj <00>D<00><00>t|j<00>z t|j<00><00>t|jj <00>D<00>cgc]}|jjdkDs<01>|<02><02> c}<02>|j<00>r|j<00>jd<04>Sdd<04>Scc}wcc}w)zGet overall goal statisticsc3<00>HK<00>|]}|jj<00><01><00>y<00>wrh)rOr2)r"ris r$r$z(GoalManager.get_stats.<locals>.<genexpr><3E>s<00><00><><00>#V<>Q<EFBFBD>A<EFBFBD>G<EFBFBD>G<EFBFBD>$8<>$8<>#V<>s<00> "r<>N)<06> total_goals<6C> by_category<72>avg_satisfaction<6F> active_goals<6C>critical_goals<6C> top_priority) r{rFr&r.rsr|r<>rorOr3rq)r=<00>catris r$<00> get_statszGoalManager.get_stats<74>s<><00><00><1F>t<EFBFBD>z<EFBFBD>z<EFBFBD>?<3F>(<28><0E><17><14><08><08>#<23>d<EFBFBD>8<>8<><13>=<3D>><3E>><3E><0E>!$<24>#V<>$<24>*<2A>*<2A>BS<42>BS<42>BU<42>#V<> V<>Y\<5C>]a<>]g<>]g<>Yh<59> h<><1F><04> 5<> 5<> 7<>8<>!<21>d<EFBFBD>j<EFBFBD>j<EFBFBD>.?<3F>.?<3F>.A<>"[<5B><11>Q<EFBFBD>W<EFBFBD>W<EFBFBD>_<EFBFBD>_<EFBFBD>WZ<57>EZ<45>1<EFBFBD>"[<5B>\<5C>8<<3C>8I<38>8I<38>8K<38>D<EFBFBD>-<2D>-<2D>/<2F>4<>4<>

<EFBFBD>
<EFBFBD>RV<01>

<EFBFBD>
<EFBFBD><EFBFBD><0E><> #\s<00>,D<06>D!<10>"D!c<00><><00>|jj<00>D<00><01>cic]\}}||j<00><00><02>c}}|j<00>d<01>Scc}}w)zExport all goal data)rF<00>stats)rFrRrEr<>)r=r.rKs r$rEzGoalManager.to_dictsF<00><00>>B<01>Z<EFBFBD>Z<EFBFBD>=M<>=M<>=O<>P<>z<EFBFBD>t<EFBFBD>T<EFBFBD>d<EFBFBD>D<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>*<2A>P<><19>^<5E>^<5E>%<25>
<EFBFBD>
<EFBFBD><EFBFBD>Ps<00>Arh)r<>)rrrrr rrSrGrHrbrrFr rdrHrrMrorqr&rsrurwr<>rEr"r#r$rCrC<00>s<><00><00>)<29><1B>8<EFBFBD>D<EFBFBD>><3E><1B> )<29><B<01> ><3E>%<25>d<EFBFBD>3<EFBFBD><03>8<EFBFBD>n<EFBFBD>%<25>
V<01>%<25>V<01>$<24>t<EFBFBD>*<2A>V<01>-<2D>e<EFBFBD>-<2D>h<EFBFBD>t<EFBFBD>n<EFBFBD>-<2D>
J<01>l<EFBFBD>J<01>t<EFBFBD>D<EFBFBD>z<EFBFBD>J<01>%<25>T<EFBFBD>%<25>!<21><03>!<21>

<EFBFBD>4<EFBFBD> 
<EFBFBD>
<EFBFBD><14>
r#rC<00>__main__z=== GOAP Goals Module Test ===<3D>-r<>r<>r<>r)rsrtr<>r<>r<>i<>r<>r<>r<>r)rur<>r<>r<>)<03>coding<6E>research<63>analysisr<73>r<>g333333<33>?r<>r<>)rwr<>r<><00>r r>)rrrr)rrrkrlrz
=== Goal States ===z: satisfaction=z.2fz
, urgency=z, effective_priority=z.0fz
=== Top Priority Goal ===z (category: <20>)zDesired state: z
=== Stats ===r])=r<00>abcrr<00> dataclassesrr<00>typingrrr r
r r <00>enumr rrIrPrr<00>pathlibrrr&r-rMrer<>r<>r<>r<>r<>r<>r<>r<>rrr+r7rC<00> goal_managerrrTrT<00>gmrdrFrRr.rKrOr2r3rArq<00>topr/rY<00>dumpsr<73>r"r#r$<00><module>r<>s<><00><01><04>
$<24>(<28>;<3B>;<3B><1B> <0B> <0B>(<28><18><14>4<EFBFBD><14><14>4<EFBFBD><14> <0B>
<EFBFBD>
<EFBFBD> <0B>
<EFBFBD>>9
<EFBFBD>3<EFBFBD>9
<EFBFBD>@&
<EFBFBD>d<EFBFBD>&
<EFBFBD>R!
<EFBFBD>T<EFBFBD>!
<EFBFBD>P(
<EFBFBD>t<EFBFBD>(
<EFBFBD>V&
<EFBFBD>4<EFBFBD>&
<EFBFBD>R!
<EFBFBD><04>!
<EFBFBD>P&
<EFBFBD>t<EFBFBD>&
<EFBFBD>R%
<EFBFBD>4<EFBFBD>%
<EFBFBD>P!
<EFBFBD>T<EFBFBD>!
<EFBFBD>P&
<EFBFBD><14>&
<EFBFBD>R"
<EFBFBD>t<EFBFBD>"
<EFBFBD>J%
<EFBFBD><04>%
<EFBFBD>X!
<EFBFBD>$<24>!
<EFBFBD>H!
<EFBFBD>d<EFBFBD>!
<EFBFBD>Pv
<EFBFBD>v
<EFBFBD>t<1B>}<7D> <0C> <0C>z<EFBFBD><19> <09>
*<2A>+<2B>
<1E> <20><1E><1E><1E> 
<EFBFBD> <20>)<29>:<3A>6<>"#<23>#&<26> 
<EFBFBD><<3C>(+<2B><13>#<23>N<>&<26>
<EFBFBD>3<>
<EFBFBD> "$<24>!%<25><1D><1C> 
<EFBFBD>'<06>K<EFBFBD>8
<15><1D>B<EFBFBD><06>M<EFBFBD>M<EFBFBD>+<2B><1E> <09>
!<21>"<22><18>h<EFBFBD>h<EFBFBD>n<EFBFBD>n<EFBFBD>&<26>I<01>
<EFBFBD><04>d<EFBFBD> <0A><14><06>o<EFBFBD>d<EFBFBD>j<EFBFBD>j<EFBFBD>&=<3D>&=<3D>c<EFBFBD>%B<>C<19><1D><1A><1A>+<2B>+<2B>C<EFBFBD>0<>1$<24>$(<28>J<EFBFBD>J<EFBFBD>$A<>$A<>#<23>#F<>H<01> I<01>I<01>

<EFBFBD>
'<27>(<28>
<0C>/<2F>/<2F>
<1B>C<EFBFBD>
<EFBFBD> <0A><13><18><18>
<EFBFBD>,<2C>s<EFBFBD>|<7C>|<7C>'8<>'8<>&9<><11>;<3B><<3C> <0A><0F><03> 5<> 5<> 7<>8<>9<>:<3A> <09>
<1B><1C> <09>*<2A>$<24>*<2A>*<2A>R<EFBFBD>\<5C>\<5C>^<5E>A<EFBFBD>
.<2E>/<2F>cr#