Document a subset of core programs with purpose (and intent)

def document_core_programs(p):
    """
    Document a subset of core programs with purpose (and intent)
    """
    
    p.comment('programs.py', 'collects list of aikif programs to show progress and allows comments to be added to each file')
    p.comment('cls_file_mapping.py', 'uses ontology to get list of files to save data')
    p.comment('index.py', 'rebuilds indexes')
    p.comment('dataTools.py', 'data tools to manage database access')
    p.comment('generateTestData.py', 'Tool to generate various test data')
    p.comment('bias.py', '[DATA] weight the validity of source data based on location, person, timing')
    p.comment('cls_collect_files.py', 'duplicate - see agent filelist collecting')
    p.comment('config.py', '[DATA] central point for settings in AIKIF')
    p.comment('cls_log.py', 'logging function to map to standard outputs. Almost provides auto aggregation')
    p.comment('mapper.py', 'maps business rules and columns of source data to standard aikif logs')
    p.comment('search.py', 'command line search tool [deprecated, but will be redone]')
    p.comment('tools.py', '[DATA] uses the toolbox class to create list of programs used by aikif')
    p.comment('check_redis_limit.py', 'starts reddis database and tests limits by repeatedly adding data until it breaks')
    p.comment('cls_data.py', 'base class for data')
    p.comment('cls_dataset.py', 'functions for a schema table - progress = stub only')
    p.comment('cls_datatable.py', 'functions for a single table - progress = TOK')
    p.comment('cls_sql_code_generator.py', 'useful generation of SQL commands')
    p.comment('world_generator.py', 'generates a 2D grid world with random terrain - land, sea, blockages')
    p.comment('gui_view_world.py', 'script to read a saved grid from world.py and show in gui. Good for seeing grids larger than 80x25')
    p.comment('cls_file.py', 'TOK - class for handling file details - has subclasses for test, pictures and audio')
    p.comment('cls_goal.py', 'base class for managing goals')
    p.comment('cls_goal_friendly.py', 'STUB - test if a goal is friendly (needs 10-40 years work to be implemented properly)')
    p.comment('cls_goal_money.py', 'example based on cls_goal to manage money goals')
    p.comment('cls_goal_time.py', 'example based on cls_goal to manage time goals')
    p.comment('cls_plan.py', 'STUB only at this stage - this should provide the link from goals to toolbox (somewhat tricky to say the least)')
    p.comment('Toolbox.py', 'class to manage the toolbox - list of programs and functions aikif can use')
    p.comment('cls_grid.py', 'base class for 2D grid for games - 2048, game of life, 2D terrain maps')
    p.comment('cls_grid_life.py', 'game of life game')
    p.comment('test_tool.py', 'tesing toolbox (SHOULD BE IN TESTS)')
    p.comment('page_about.py', 'web_aikif - generates page using flask')
    p.comment('page_agents.py', 'web_aikif - generates page using flask')
    p.comment('page_data.py', 'web_aikif - generates page using flask')
    p.comment('web_aikif.py', 'web_aikif - generates page using flask')
    p.comment('web_utils.py', 'web_aikif - generates page using flask')
    p.comment('check_python_env.py', 'script to test imports to ensure all correct packages are available')
    p.comment('run_tests.py', 'runs all tests in /tests subfolder')
    p.comment('if_database.py', 'dataTools - interface base class to a database')
    p.comment('if_mssqlserver.py', 'dataTools - interface class to a mssql database')
    p.comment('if_oracle.py', 'dataTools - interface class to an oracle database')
    p.comment('if_redis.py', 'dataTools - interface class to a redis database')

    p.comment('agent_browser.py', 'collects data from browser - bookmarks, visited sites')
    p.comment('outlook_export.py', 'agent to connect to outlook and export emails')
    p.comment('run_dummy_learn_1.py', 'sample code to call a learning algorithm')
    p.comment('cls_collect.py', 'collect filelists')
    p.comment('cls_context.py', 'estimate what the user and PC are currently actively working on')
    p.comment('cls_filelist.py', 'fileslist class')
    p.comment('cls_plan_BDI.py', 'stub for planner based on belief, desire, intent')
    p.comment('cls_plan_search.py', 'AI planner search functions')
    p.comment('project.py', 'Core module to manage projects - meta self documentation')
    p.comment('data_structures.py', 'Node and Graph classes')

    p.comment('knowledge.py', 'processs raw data to information')
    p.comment('core_data.py', 'classes to manage the core data types')
    p.comment('if_excel.py', 'data interface to excel')
    p.comment('network_tools.py', 'toolbox method to download files')
    p.comment('AI_CLI.py', 'Command Line Interface (IN PROGRESS)')
    p.comment('install_data.py', 'script to setup data files (IN PROGRESS)')